{
"message": "Input payload validation failed",
"errors": {
"email": "Field must be a valid email address",
"name": "Field cannot be empty"
}
}
{
"message": "You don't have permission to access this resource"
}
{
"message": "Flow, trail or moment not found"
}
{
"message": "Two slots share an attestation name, so no policy input can be built"
}
Get trail moment
Get one moment, with each attestation's stored body joined onto its slot entry
and the event that recorded the moment.
A policy is given the moment without `event`, so remove it before using a
fetched moment as a policy's test input.
`moment_expression` can be specified as follows:
- `latest`: the newest moment in the series
- `N`: the moment with that `moment_number`, as cited by the listing
example: 42
- `@{YYYY-MM-DDTHH:MM:SS}`: the newest moment recorded at or before that UTC
instant. Fractional seconds are optional, and are read to microseconds.
example: @{2026-08-27T12:00:00}
Address a moment you already know by its `moment_number`. An instant carries
less precision than the `created_at` the listing publishes, so one built by
rounding a listed `created_at` can fall before its own moment and select the
one before it.
Compliance slots as at the moment, keyed by attestation name so a policy can address one, each entry carrying the fields of its stored attestation. Untyped because a joined body carries whatever fields its attestation type defines.
The trail's newest event of a type that records a moment, at or before the moment's created_at: the one that recorded it, shaped as the trail's event listing shapes it, so its is_latest and type_mismatch describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.
TrailStartedEventResponse
TrailUpdatedEventResponse
TrailAttestationEventResponse
TrailAttestationForArtifactEventResponse
ArtifactAttestationEventResponse
ArtifactReportedEventResponse
ArtifactDeploymentEventResponse
ArtifactApprovalEventResponse
ArtifactStartedRunningEventResponse
ArtifactStoppedRunningEventResponse
AttestationOverriddenEventResponse
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Kosli Documentation","colors":{"primary":"#1C4BC6","light":"#ABBDFF","dark":"#1C4BC6"},"logo":{"light":"https://mintcdn.com/kosli/Cee1LAu-Jhawp1Om/logo/kosli-logo-light-main.svg?fit=max\u0026auto=format\u0026n=Cee1LAu-Jhawp1Om\u0026q=85\u0026s=fb05fdbb0c9c9ae7da266a500eac2be6","dark":"https://mintcdn.com/kosli/Cee1LAu-Jhawp1Om/logo/kosli-logo-dark-main.svg?fit=max\u0026auto=format\u0026n=Cee1LAu-Jhawp1Om\u0026q=85\u0026s=c230555c5e1d57d0f9f9630117a1467d"},"favicon":"https://mintcdn.com/kosli/CktiOOFhqneQZXyH/favicon-32x32.png?fit=max\u0026auto=format\u0026n=CktiOOFhqneQZXyH\u0026q=85\u0026s=1b16e66cd5c7266604a6a683f334f672","api":{"playground":{"display":"interactive"}},"background":{"decoration":"windows","color":{"light":"#F6F8FC","dark":"#111A26"}},"navbar":{"links":[{"href":"mailto:support@kosli.com","label":"Support"}],"primary":{"type":"button","label":"Kosli App","href":"https://app.kosli.com"}},"footer":{"socials":{"website":"https://kosli.com","github":"https://github.com/kosli-dev","linkedin":"https://linkedin.com/company/kosli-dev"},"links":[{"header":"Resources","items":[{"label":"Privacy Policy","href":"https://www.kosli.com/privacy-policy"},{"label":"Status","href":"https://status.app.kosli.com/"}]},{"header":"Learn","items":[{"label":"Labs","href":"/labs"},{"label":"Blog","href":"https://kosli.com/blog"}]},{"header":"Company","items":[{"label":"About Kosli","href":"https://www.kosli.com/about"},{"label":"Privacy","href":"https://www.kosli.com/privacy-policy"},{"label":"Community","href":"https://www.kosli.com/community"}]}]},"fonts":{"family":"IBM Plex Sans"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":"dracula","languages":{"custom":["/languages/rego.json"]}},"latex":false},"integrations":{"posthog":{"apiKey":"phc_vKbCGJq5rzV4apArUzYDRwh6azCmgCPcLz8jTa9CgmGR","apiHost":"https://eu.posthog.com","sessionRecording":false},"cookies":{"key":"kosli_consent","value":"accepted"}},"banner":{"content":"🌱 The docs have a new layout, grouped by what you're here to do.","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kosli","hasAudioNarration":false,"actualSubdomain":"kosli","customDomains":["docs.kosli.com"],"gitSource":{"type":"github","owner":"kosli-dev","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED","enabled":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED","enabled":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeefa64ff56dc66d2b6bccc","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Reference","count":290},{"language":"default","tag":"API Reference","count":152},{"language":"default","tag":"CLI Reference","count":103},{"language":"default","tag":"Platform administration","count":28},{"language":"default","tag":"Discover Kosli","count":28},{"language":"default","tag":"Terraform Reference","count":22},{"language":"default","tag":"Environments","count":21},{"language":"default","tag":"Attestation","count":18},{"language":"default","tag":"kosli get","count":15},{"language":"default","tag":"kosli attest","count":13}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":false,"showHelpButton":false}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"[data-component-part=\"step-number\"]>div{background-color:#CFD8FF!important;color:#111A26!important}"}],"page":{"pagePath":"api-reference/trails/get-trail-moment","slug":"/api-reference/trails/get-trail-moment","pageMetadata":{"title":"Get trail moment","description":"Get one moment, with each attestation's stored body joined onto its slot entry\nand the event that recorded the moment.\n\nA policy is given the moment without `event`, so remove it before using a\nfetched moment as a policy's test input.\n\n`moment_expression` can be specified as follows:\n- `latest`: the newest moment in the series\n- `N`: the moment with that `moment_number`, as cited by the listing\n example: 42\n- `@{YYYY-MM-DDTHH:MM:SS}`: the newest moment recorded at or before that UTC\n instant. Fractional seconds are optional, and are read to microseconds.\n example: @{2026-08-27T12:00:00}\n\nAddress a moment you already know by its `moment_number`. An instant carries\nless precision than the `created_at` the listing publishes, so one built by\nrounding a listed `created_at` can fall before its own moment and select the\none before it.","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/moments/{moment_expression}","href":"/api-reference/trails/get-trail-moment","autogeneratedByOpenApi":true},"description":"Get one moment, with each attestation's stored body joined onto its slot entry\nand the event that recorded the moment.\n\nA policy is given the moment without `event`, so remove it before using a\nfetched moment as a policy's test input.\n\n`moment_expression` can be specified as follows:\n- `latest`: the newest moment in the series\n- `N`: the moment with that `moment_number`, as cited by the listing\n example: 42\n- `@{YYYY-MM-DDTHH:MM:SS}`: the newest moment recorded at or before that UTC\n instant. Fractional seconds are optional, and are read to microseconds.\n example: @{2026-08-27T12:00:00}\n\nAddress a moment you already know by its `moment_number`. An instant carries\nless precision than the `created_at` the listing publishes, so one built by\nrounding a listed `created_at` can fall before its own moment and select the\none before it.","pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":"dracula","languages":{"custom":["/languages/rego.json"]}},"config":{},"pageMetadata":{"title":"Get trail moment","description":"Get one moment, with each attestation's stored body joined onto its slot entry\nand the event that recorded the moment.\n\nA policy is given the moment without `event`, so remove it before using a\nfetched moment as a policy's test input.\n\n`moment_expression` can be specified as follows:\n- `latest`: the newest moment in the series\n- `N`: the moment with that `moment_number`, as cited by the listing\n example: 42\n- `@{YYYY-MM-DDTHH:MM:SS}`: the newest moment recorded at or before that UTC\n instant. Fractional seconds are optional, and are read to microseconds.\n example: @{2026-08-27T12:00:00}\n\nAddress a moment you already know by its `moment_number`. An instant carries\nless precision than the `created_at` the listing publishes, so one built by\nrounding a listed `created_at` can fall before its own moment and select the\none before it.","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/moments/{moment_expression}","href":"/api-reference/trails/get-trail-moment","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/kosli/a8952d14c382591c/termly.js"],"openApiReferenceData":{"operation":{"tags":["Trails"],"summary":"Get trail moment","description":"Get one moment, with each attestation's stored body joined onto its slot entry\nand the event that recorded the moment.\n\nA policy is given the moment without `event`, so remove it before using a\nfetched moment as a policy's test input.\n\n`moment_expression` can be specified as follows:\n- `latest`: the newest moment in the series\n- `N`: the moment with that `moment_number`, as cited by the listing\n example: 42\n- `@{YYYY-MM-DDTHH:MM:SS}`: the newest moment recorded at or before that UTC\n instant. Fractional seconds are optional, and are read to microseconds.\n example: @{2026-08-27T12:00:00}\n\nAddress a moment you already know by its `moment_number`. An instant carries\nless precision than the `created_at` the listing publishes, so one built by\nrounding a listed `created_at` can fall before its own moment and select the\none before it.","operationId":"get_trail_moment","security":["e9bd3999-723f-4520-9e68-f5daf76ebb42","14c7b36a-5d4e-4e63-a9ea-489e55bdbe39"],"parameters":["1271a80f-8104-4c4f-9545-bc9f0ce82264","7e706ab9-22ac-4950-816d-0aca0408dcf7","14a8a85e-c4c5-4bd0-a031-c5d3b9a9b721","b47a4711-930e-4619-bf17-f3e3e60795f9"],"responses":{"200":"45b5955e-5c36-451a-858b-e262bde91c9e","400":"9218656c-d14a-488b-8802-91401dca3016","403":"fe844c59-058f-4d87-9200-a5b26c0d7593","404":"e1e99194-dfa9-428f-b06b-017964df418f","409":"5353ac07-3084-47a1-ad18-95527f974d29"},"method":"get","type":"path","servers":["46f1752b-c86a-4aff-9fd4-770655ca3d72","1fbcc30c-3132-4c15-849a-19e98b1095fc"],"path":"/trails/{org}/{flow_name}/{trail_name}/moments/{moment_expression}","baseUrlOptions":["https://app.kosli.com/api/v2","https://app.us.kosli.com/api/v2"],"title":"Get trail moment","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"1271a80f-8104-4c4f-9545-bc9f0ce82264":{"name":"flow_name","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\.\\-_~]*$","title":"Flow Name","description":"Name of a flow in the org","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"Name of a flow in the org"},"7e706ab9-22ac-4950-816d-0aca0408dcf7":{"name":"trail_name","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\.\\-_~]*$","title":"Trail Name","description":"Name of a trail in the flow","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"Name of a trail in the flow"},"14a8a85e-c4c5-4bd0-a031-c5d3b9a9b721":{"name":"moment_expression","in":"path","required":true,"schema":{"type":"string","description":"Which moment to get: `latest`, `N` (the moment with that `moment_number`), or `@{YYYY-MM-DDTHH:MM:SS}` (the newest one recorded at or before that UTC instant)","examples":["latest"],"title":"Moment Expression","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"Which moment to get: `latest`, `N` (the moment with that `moment_number`), or `@{YYYY-MM-DDTHH:MM:SS}` (the newest one recorded at or before that UTC instant)"},"b47a4711-930e-4619-bf17-f3e3e60795f9":{"name":"org","in":"path","required":true,"schema":{"type":"string","title":"Org","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"45b5955e-5c36-451a-858b-e262bde91c9e":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"flow_name":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\.\\-_~]*$","title":"Flow Name","description":"Name of the flow the trail belongs to, as asked for","isRequired":true,"uniqueKey":"flow_name","typeLabel":"string"},"trail_name":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\.\\-_~]*$","title":"Trail Name","description":"Name of the trail","isRequired":true,"uniqueKey":"trail_name","typeLabel":"string"},"moment_number":{"type":"integer","title":"Moment Number","description":"Address of this moment within the trail's series","isRequired":true,"uniqueKey":"moment_number","typeLabel":"integer"},"created_at":{"type":"number","title":"Created At","description":"Unix timestamp at which the moment was recorded","isRequired":true,"uniqueKey":"created_at","typeLabel":"number"},"template_id":{"type":"string","title":"Template Id","description":"Id of the flow template the moment was evaluated against","isRequired":true,"uniqueKey":"template_id","typeLabel":"string"},"compliance_status":{"additionalProperties":true,"type":"object","title":"Compliance Status","description":"Compliance slots as at the moment, keyed by attestation name so a policy can address one, each entry carrying the fields of its stored attestation. Untyped because a joined body carries whatever fields its attestation type defines.","isRequired":true,"uniqueKey":"compliance_status","typeLabel":"Compliance Status · object"},"event":{"oneOf":[{"type":"object","title":"TrailStartedEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","reported_by","type"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.0.timestamp","typeLabel":"number"},"reported_by":{"type":"string","title":"Reported By","description":"Display name of who reported the trail","isRequired":true,"uniqueKey":"event.oneOf.0.reported_by","typeLabel":"string"},"type":{"type":"string","const":"trail_reported","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.0.type","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.0.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.0.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.git_commit_info","typeLabel":"GitCommitInfo · object | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"Description of the trail","uniqueKey":"event.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"Description of the trail","uniqueKey":"event.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.description","typeLabel":"string | null"},"origin_url":{"oneOf":[{"type":"string","title":"Origin Url","description":"URL the trail was reported from","uniqueKey":"event.oneOf.0.origin_url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Origin Url","description":"URL the trail was reported from","uniqueKey":"event.oneOf.0.origin_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.origin_url","typeLabel":"string | null"},"external_urls":{"additionalProperties":{"properties":{"href":{"type":"string","title":"Href","description":"The URL","isRequired":true,"uniqueKey":"event.oneOf.0.external_urls.additionalProperties.href","typeLabel":"string"},"fingerprint":{"oneOf":[{"type":"string","title":"Fingerprint","description":"Optional fingerprint associated with the URL","uniqueKey":"event.oneOf.0.external_urls.additionalProperties.fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Fingerprint","description":"Optional fingerprint associated with the URL","uniqueKey":"event.oneOf.0.external_urls.additionalProperties.fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.0.external_urls.additionalProperties.fingerprint","typeLabel":"string | null"}},"type":"object","required":["href"],"title":"ExternalUrl","description":"External URL with optional fingerprint for GetTrail response.","uniqueKey":"event.oneOf.0.external_urls.additionalProperties","typeLabel":"ExternalUrl · object"},"type":"object","title":"External Urls","description":"External links reported with the trail","uniqueKey":"event.oneOf.0.external_urls","typeLabel":"External Urls · object"}},"isRequired":true,"uniqueKey":"event.oneOf.0","typeLabel":"TrailStartedEventResponse · object"},{"type":"object","title":"TrailUpdatedEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","reported_by","type","changes"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.1.timestamp","typeLabel":"number"},"reported_by":{"type":"string","title":"Reported By","description":"Display name of who reported the trail","isRequired":true,"uniqueKey":"event.oneOf.1.reported_by","typeLabel":"string"},"type":{"type":"string","const":"trail_updated","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.1.type","typeLabel":"string"},"changes":{"items":{"type":"string","uniqueKey":"event.oneOf.1.changes.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Changes","description":"Names of the trail fields changed","isRequired":true,"uniqueKey":"event.oneOf.1.changes","typeLabel":"string[]"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.1.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.1.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.git_commit_info","typeLabel":"GitCommitInfo · object | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"Description of the trail","uniqueKey":"event.oneOf.1.description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"Description of the trail","uniqueKey":"event.oneOf.1.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.description","typeLabel":"string | null"},"origin_url":{"oneOf":[{"type":"string","title":"Origin Url","description":"URL the trail was reported from","uniqueKey":"event.oneOf.1.origin_url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Origin Url","description":"URL the trail was reported from","uniqueKey":"event.oneOf.1.origin_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.origin_url","typeLabel":"string | null"},"external_urls":{"additionalProperties":{"properties":{"href":{"type":"string","title":"Href","description":"The URL","isRequired":true,"uniqueKey":"event.oneOf.1.external_urls.additionalProperties.href","typeLabel":"string"},"fingerprint":{"oneOf":[{"type":"string","title":"Fingerprint","description":"Optional fingerprint associated with the URL","uniqueKey":"event.oneOf.1.external_urls.additionalProperties.fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Fingerprint","description":"Optional fingerprint associated with the URL","uniqueKey":"event.oneOf.1.external_urls.additionalProperties.fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.1.external_urls.additionalProperties.fingerprint","typeLabel":"string | null"}},"type":"object","required":["href"],"title":"ExternalUrl","description":"External URL with optional fingerprint for GetTrail response.","uniqueKey":"event.oneOf.1.external_urls.additionalProperties","typeLabel":"ExternalUrl · object"},"type":"object","title":"External Urls","description":"External links reported with the trail","uniqueKey":"event.oneOf.1.external_urls","typeLabel":"External Urls · object"}},"isRequired":true,"uniqueKey":"event.oneOf.1","typeLabel":"TrailUpdatedEventResponse · object"},{"type":"object","title":"TrailAttestationEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","attestation_id","attestation_type","template_reference_name","is_compliant","is_latest","type_mismatch","type"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.2.timestamp","typeLabel":"number"},"attestation_id":{"type":"string","title":"Attestation Id","description":"ID of the attestation reported","isRequired":true,"uniqueKey":"event.oneOf.2.attestation_id","typeLabel":"string"},"attestation_type":{"type":"string","title":"Attestation Type","description":"Type of the attestation","isRequired":true,"uniqueKey":"event.oneOf.2.attestation_type","typeLabel":"string"},"template_reference_name":{"type":"string","title":"Template Reference Name","description":"Name of the attestation in the template","isRequired":true,"uniqueKey":"event.oneOf.2.template_reference_name","typeLabel":"string"},"is_compliant":{"type":"boolean","title":"Is Compliant","description":"Whether the attestation is compliant","isRequired":true,"uniqueKey":"event.oneOf.2.is_compliant","typeLabel":"boolean"},"is_latest":{"type":"boolean","title":"Is Latest","description":"Whether this is the trail's current attestation in its slot","isRequired":true,"uniqueKey":"event.oneOf.2.is_latest","typeLabel":"boolean"},"type_mismatch":{"type":"boolean","title":"Type Mismatch","description":"Whether this current attestation's type differs from the template's; an earlier attempt is never flagged","isRequired":true,"uniqueKey":"event.oneOf.2.type_mismatch","typeLabel":"boolean"},"type":{"type":"string","const":"trail_attestation_reported","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.2.type","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.2.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.2.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.git_commit_info","typeLabel":"GitCommitInfo · object | null"},"is_reattestation":{"oneOf":[{"type":"boolean","title":"Is Reattestation","description":"Whether an earlier attestation had this name","uniqueKey":"event.oneOf.2.is_reattestation.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Reattestation","description":"Whether an earlier attestation had this name","uniqueKey":"event.oneOf.2.is_reattestation.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.is_reattestation","typeLabel":"boolean | null"},"expected_attestation_type":{"oneOf":[{"type":"string","title":"Expected Attestation Type","description":"The template's type, when type_mismatch","uniqueKey":"event.oneOf.2.expected_attestation_type.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expected Attestation Type","description":"The template's type, when type_mismatch","uniqueKey":"event.oneOf.2.expected_attestation_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.2.expected_attestation_type","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"event.oneOf.2","typeLabel":"TrailAttestationEventResponse · object"},{"type":"object","title":"TrailAttestationForArtifactEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","attestation_id","attestation_type","template_reference_name","is_compliant","is_latest","type_mismatch","type","target_artifact"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.3.timestamp","typeLabel":"number"},"attestation_id":{"type":"string","title":"Attestation Id","description":"ID of the attestation reported","isRequired":true,"uniqueKey":"event.oneOf.3.attestation_id","typeLabel":"string"},"attestation_type":{"type":"string","title":"Attestation Type","description":"Type of the attestation","isRequired":true,"uniqueKey":"event.oneOf.3.attestation_type","typeLabel":"string"},"template_reference_name":{"type":"string","title":"Template Reference Name","description":"Name of the attestation in the template","isRequired":true,"uniqueKey":"event.oneOf.3.template_reference_name","typeLabel":"string"},"is_compliant":{"type":"boolean","title":"Is Compliant","description":"Whether the attestation is compliant","isRequired":true,"uniqueKey":"event.oneOf.3.is_compliant","typeLabel":"boolean"},"is_latest":{"type":"boolean","title":"Is Latest","description":"Whether this is the trail's current attestation in its slot","isRequired":true,"uniqueKey":"event.oneOf.3.is_latest","typeLabel":"boolean"},"type_mismatch":{"type":"boolean","title":"Type Mismatch","description":"Whether this current attestation's type differs from the template's; an earlier attempt is never flagged","isRequired":true,"uniqueKey":"event.oneOf.3.type_mismatch","typeLabel":"boolean"},"type":{"type":"string","const":"trail_attestation_for_artifact_reported","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.3.type","typeLabel":"string"},"target_artifact":{"type":"string","title":"Target Artifact","description":"Template name of the artifact","isRequired":true,"uniqueKey":"event.oneOf.3.target_artifact","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.3.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.3.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.git_commit_info","typeLabel":"GitCommitInfo · object | null"},"is_reattestation":{"oneOf":[{"type":"boolean","title":"Is Reattestation","description":"Whether an earlier attestation had this name","uniqueKey":"event.oneOf.3.is_reattestation.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Reattestation","description":"Whether an earlier attestation had this name","uniqueKey":"event.oneOf.3.is_reattestation.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.is_reattestation","typeLabel":"boolean | null"},"expected_attestation_type":{"oneOf":[{"type":"string","title":"Expected Attestation Type","description":"The template's type, when type_mismatch","uniqueKey":"event.oneOf.3.expected_attestation_type.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expected Attestation Type","description":"The template's type, when type_mismatch","uniqueKey":"event.oneOf.3.expected_attestation_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.3.expected_attestation_type","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"event.oneOf.3","typeLabel":"TrailAttestationForArtifactEventResponse · object"},{"type":"object","title":"ArtifactAttestationEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","attestation_id","attestation_type","template_reference_name","is_compliant","is_latest","type_mismatch","type","target_artifact","artifact_fingerprint","artifact_name"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.4.timestamp","typeLabel":"number"},"attestation_id":{"type":"string","title":"Attestation Id","description":"ID of the attestation reported","isRequired":true,"uniqueKey":"event.oneOf.4.attestation_id","typeLabel":"string"},"attestation_type":{"type":"string","title":"Attestation Type","description":"Type of the attestation","isRequired":true,"uniqueKey":"event.oneOf.4.attestation_type","typeLabel":"string"},"template_reference_name":{"type":"string","title":"Template Reference Name","description":"Name of the attestation in the template","isRequired":true,"uniqueKey":"event.oneOf.4.template_reference_name","typeLabel":"string"},"is_compliant":{"type":"boolean","title":"Is Compliant","description":"Whether the attestation is compliant","isRequired":true,"uniqueKey":"event.oneOf.4.is_compliant","typeLabel":"boolean"},"is_latest":{"type":"boolean","title":"Is Latest","description":"Whether this is the trail's current attestation in its slot","isRequired":true,"uniqueKey":"event.oneOf.4.is_latest","typeLabel":"boolean"},"type_mismatch":{"type":"boolean","title":"Type Mismatch","description":"Whether this current attestation's type differs from the template's; an earlier attempt is never flagged","isRequired":true,"uniqueKey":"event.oneOf.4.type_mismatch","typeLabel":"boolean"},"type":{"type":"string","const":"artifact_attestation_reported","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.4.type","typeLabel":"string"},"target_artifact":{"type":"string","title":"Target Artifact","description":"Template name of the artifact","isRequired":true,"uniqueKey":"event.oneOf.4.target_artifact","typeLabel":"string"},"artifact_fingerprint":{"type":"string","title":"Artifact Fingerprint","description":"Fingerprint of the artifact","isRequired":true,"uniqueKey":"event.oneOf.4.artifact_fingerprint","typeLabel":"string"},"artifact_name":{"type":"string","title":"Artifact Name","description":"Name of the artifact","isRequired":true,"uniqueKey":"event.oneOf.4.artifact_name","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.4.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.4.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.git_commit_info","typeLabel":"GitCommitInfo · object | null"},"is_reattestation":{"oneOf":[{"type":"boolean","title":"Is Reattestation","description":"Whether an earlier attestation had this name","uniqueKey":"event.oneOf.4.is_reattestation.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Is Reattestation","description":"Whether an earlier attestation had this name","uniqueKey":"event.oneOf.4.is_reattestation.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.is_reattestation","typeLabel":"boolean | null"},"expected_attestation_type":{"oneOf":[{"type":"string","title":"Expected Attestation Type","description":"The template's type, when type_mismatch","uniqueKey":"event.oneOf.4.expected_attestation_type.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expected Attestation Type","description":"The template's type, when type_mismatch","uniqueKey":"event.oneOf.4.expected_attestation_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.4.expected_attestation_type","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"event.oneOf.4","typeLabel":"ArtifactAttestationEventResponse · object"},{"type":"object","title":"ArtifactReportedEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","type","artifact_id","artifact_fingerprint","artifact_name","template_reference_name"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.5.timestamp","typeLabel":"number"},"type":{"type":"string","const":"artifact_creation_reported","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.5.type","typeLabel":"string"},"artifact_id":{"type":"string","title":"Artifact Id","description":"ID of the artifact reported","isRequired":true,"uniqueKey":"event.oneOf.5.artifact_id","typeLabel":"string"},"artifact_fingerprint":{"type":"string","title":"Artifact Fingerprint","description":"Fingerprint of the artifact","isRequired":true,"uniqueKey":"event.oneOf.5.artifact_fingerprint","typeLabel":"string"},"artifact_name":{"type":"string","title":"Artifact Name","description":"Name of the artifact","isRequired":true,"uniqueKey":"event.oneOf.5.artifact_name","typeLabel":"string"},"template_reference_name":{"type":"string","title":"Template Reference Name","description":"Name of the artifact in the template","isRequired":true,"uniqueKey":"event.oneOf.5.template_reference_name","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.5.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.5.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.5.git_commit_info","typeLabel":"GitCommitInfo · object | null"}},"isRequired":true,"uniqueKey":"event.oneOf.5","typeLabel":"ArtifactReportedEventResponse · object"},{"type":"object","title":"ArtifactDeploymentEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","type","artifact_fingerprint","deployment_number","environment_name"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.6.timestamp","typeLabel":"number"},"type":{"type":"string","const":"artifact_deployment_reported","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.6.type","typeLabel":"string"},"artifact_fingerprint":{"type":"string","title":"Artifact Fingerprint","description":"Fingerprint of the artifact","isRequired":true,"uniqueKey":"event.oneOf.6.artifact_fingerprint","typeLabel":"string"},"deployment_number":{"type":"integer","title":"Deployment Number","description":"Number of the deployment","isRequired":true,"uniqueKey":"event.oneOf.6.deployment_number","typeLabel":"integer"},"environment_name":{"type":"string","title":"Environment Name","description":"Environment deployed to, or `unknown`","isRequired":true,"uniqueKey":"event.oneOf.6.environment_name","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.6.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.6.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.6.git_commit_info","typeLabel":"GitCommitInfo · object | null"}},"isRequired":true,"uniqueKey":"event.oneOf.6","typeLabel":"ArtifactDeploymentEventResponse · object"},{"type":"object","title":"ArtifactApprovalEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","type","artifact_fingerprint","approval_number","state"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.7.timestamp","typeLabel":"number"},"type":{"type":"string","const":"artifact_approval_reported","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.7.type","typeLabel":"string"},"artifact_fingerprint":{"type":"string","title":"Artifact Fingerprint","description":"Fingerprint of the artifact","isRequired":true,"uniqueKey":"event.oneOf.7.artifact_fingerprint","typeLabel":"string"},"approval_number":{"type":"integer","title":"Approval Number","description":"Number of the approval","isRequired":true,"uniqueKey":"event.oneOf.7.approval_number","typeLabel":"integer"},"state":{"type":"string","title":"State","description":"State of the approval","isRequired":true,"uniqueKey":"event.oneOf.7.state","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.7.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.7.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.git_commit_info","typeLabel":"GitCommitInfo · object | null"},"reviewer":{"oneOf":[{"type":"string","title":"Reviewer","description":"Who reviewed the approval","uniqueKey":"event.oneOf.7.reviewer.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reviewer","description":"Who reviewed the approval","uniqueKey":"event.oneOf.7.reviewer.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.reviewer","typeLabel":"string | null"},"environment_name":{"oneOf":[{"type":"string","title":"Environment Name","description":"Environment the approval is for","uniqueKey":"event.oneOf.7.environment_name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Environment Name","description":"Environment the approval is for","uniqueKey":"event.oneOf.7.environment_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.7.environment_name","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"event.oneOf.7","typeLabel":"ArtifactApprovalEventResponse · object"},{"type":"object","title":"ArtifactStartedRunningEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","artifact_fingerprint","template_reference_name","environment_name","snapshot_index","type"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.8.timestamp","typeLabel":"number"},"artifact_fingerprint":{"type":"string","title":"Artifact Fingerprint","description":"Fingerprint of the artifact","isRequired":true,"uniqueKey":"event.oneOf.8.artifact_fingerprint","typeLabel":"string"},"template_reference_name":{"type":"string","title":"Template Reference Name","description":"Name of the artifact in the template","isRequired":true,"uniqueKey":"event.oneOf.8.template_reference_name","typeLabel":"string"},"environment_name":{"type":"string","title":"Environment Name","description":"Name of the environment","isRequired":true,"uniqueKey":"event.oneOf.8.environment_name","typeLabel":"string"},"snapshot_index":{"type":"integer","title":"Snapshot Index","description":"Index of the snapshot","isRequired":true,"uniqueKey":"event.oneOf.8.snapshot_index","typeLabel":"integer"},"type":{"type":"string","const":"artifact_started_running","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.8.type","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.8.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.8.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.8.git_commit_info","typeLabel":"GitCommitInfo · object | null"}},"isRequired":true,"uniqueKey":"event.oneOf.8","typeLabel":"ArtifactStartedRunningEventResponse · object"},{"type":"object","title":"ArtifactStoppedRunningEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","artifact_fingerprint","template_reference_name","environment_name","snapshot_index","type"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.9.timestamp","typeLabel":"number"},"artifact_fingerprint":{"type":"string","title":"Artifact Fingerprint","description":"Fingerprint of the artifact","isRequired":true,"uniqueKey":"event.oneOf.9.artifact_fingerprint","typeLabel":"string"},"template_reference_name":{"type":"string","title":"Template Reference Name","description":"Name of the artifact in the template","isRequired":true,"uniqueKey":"event.oneOf.9.template_reference_name","typeLabel":"string"},"environment_name":{"type":"string","title":"Environment Name","description":"Name of the environment","isRequired":true,"uniqueKey":"event.oneOf.9.environment_name","typeLabel":"string"},"snapshot_index":{"type":"integer","title":"Snapshot Index","description":"Index of the snapshot","isRequired":true,"uniqueKey":"event.oneOf.9.snapshot_index","typeLabel":"integer"},"type":{"type":"string","const":"artifact_stopped_running","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.9.type","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.9.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.9.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.9.git_commit_info","typeLabel":"GitCommitInfo · object | null"}},"isRequired":true,"uniqueKey":"event.oneOf.9","typeLabel":"ArtifactStoppedRunningEventResponse · object"},{"type":"object","title":"AttestationOverriddenEventResponse","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","required":["timestamp","type","override_attestation_id","attestation_name","reason","new_compliance_status","original_attestation_type"],"properties":{"timestamp":{"type":"number","title":"Timestamp","description":"Unix timestamp of the event","isRequired":true,"uniqueKey":"event.oneOf.10.timestamp","typeLabel":"number"},"type":{"type":"string","const":"attestation_overridden","title":"Type","isRequired":true,"uniqueKey":"event.oneOf.10.type","typeLabel":"string"},"override_attestation_id":{"type":"string","title":"Override Attestation Id","description":"ID of the override","isRequired":true,"uniqueKey":"event.oneOf.10.override_attestation_id","typeLabel":"string"},"attestation_name":{"type":"string","title":"Attestation Name","description":"Name of the attestation","isRequired":true,"uniqueKey":"event.oneOf.10.attestation_name","typeLabel":"string"},"reason":{"type":"string","title":"Reason","description":"Why the attestation was overridden","isRequired":true,"uniqueKey":"event.oneOf.10.reason","typeLabel":"string"},"new_compliance_status":{"type":"boolean","title":"New Compliance Status","description":"Compliance after the override","isRequired":true,"uniqueKey":"event.oneOf.10.new_compliance_status","typeLabel":"boolean"},"original_attestation_type":{"type":"string","title":"Original Attestation Type","description":"Type of the attestation overridden","isRequired":true,"uniqueKey":"event.oneOf.10.original_attestation_type","typeLabel":"string"},"git_commit_info":{"oneOf":[{"type":"object","title":"GitCommitInfo","description":"The commit the event was reported for","required":["sha1"],"properties":{"sha1":{"type":"string","title":"Sha1","description":"The SHA-1 hash of the commit","isRequired":true,"uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.sha1","typeLabel":"string"},"message":{"oneOf":[{"type":"string","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Message","description":"The commit message","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.message","typeLabel":"string | null"},"author":{"oneOf":[{"type":"string","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.author.oneOf.0","typeLabel":"string"},{"type":"null","title":"Author","description":"The commit author","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.author.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.author","typeLabel":"string | null"},"branch":{"oneOf":[{"type":"string","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.branch.oneOf.0","typeLabel":"string"},{"type":"null","title":"Branch","description":"The branch name","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.branch.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.branch","typeLabel":"string | null"},"timestamp":{"oneOf":[{"type":"number","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.timestamp.oneOf.0","typeLabel":"number"},{"type":"null","title":"Timestamp","description":"The commit timestamp","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.timestamp","typeLabel":"number | null"},"url":{"oneOf":[{"type":"string","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"The commit URL","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0.url","typeLabel":"string | null"}},"uniqueKey":"event.oneOf.10.git_commit_info.oneOf.0","typeLabel":"GitCommitInfo · object"},{"type":"null","description":"The commit the event was reported for","uniqueKey":"event.oneOf.10.git_commit_info.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.git_commit_info","typeLabel":"GitCommitInfo · object | null"},"target_artifact":{"oneOf":[{"type":"string","title":"Target Artifact","description":"Template name of the artifact, for an artifact attestation","uniqueKey":"event.oneOf.10.target_artifact.oneOf.0","typeLabel":"string"},{"type":"null","title":"Target Artifact","description":"Template name of the artifact, for an artifact attestation","uniqueKey":"event.oneOf.10.target_artifact.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.target_artifact","typeLabel":"string | null"},"artifact_fingerprint":{"oneOf":[{"type":"string","title":"Artifact Fingerprint","description":"Fingerprint of the artifact, for an artifact attestation","uniqueKey":"event.oneOf.10.artifact_fingerprint.oneOf.0","typeLabel":"string"},{"type":"null","title":"Artifact Fingerprint","description":"Fingerprint of the artifact, for an artifact attestation","uniqueKey":"event.oneOf.10.artifact_fingerprint.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.artifact_fingerprint","typeLabel":"string | null"},"original_attestation_id":{"oneOf":[{"type":"string","title":"Original Attestation Id","description":"ID of the attestation overridden; absent for a missing one","uniqueKey":"event.oneOf.10.original_attestation_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Original Attestation Id","description":"ID of the attestation overridden; absent for a missing one","uniqueKey":"event.oneOf.10.original_attestation_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.original_attestation_id","typeLabel":"string | null"},"original_attestation_status":{"oneOf":[{"type":"boolean","title":"Original Attestation Status","description":"Compliance before the override","uniqueKey":"event.oneOf.10.original_attestation_status.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Original Attestation Status","description":"Compliance before the override","uniqueKey":"event.oneOf.10.original_attestation_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"event.oneOf.10.original_attestation_status","typeLabel":"boolean | null"}},"isRequired":true,"uniqueKey":"event.oneOf.10","typeLabel":"AttestationOverriddenEventResponse · object"},{"type":"null","title":"Event","description":"The trail's newest event of a type that records a moment, at or before the moment's `created_at`: the one that recorded it, shaped as the trail's event listing shapes it, so its `is_latest` and `type_mismatch` describe the trail now rather than at the moment. Null when the trail has no event that early. Not part of a policy's input: remove it before using a fetched moment as a policy's test input.","isRequired":true,"uniqueKey":"event.oneOf.11","typeLabel":"null"}],"isRequired":true,"uniqueKey":"event","typeLabel":"TrailStartedEventResponse · object | TrailUpdatedEventResponse · object | TrailAttestationEventResponse · object | TrailAttestationForArtifactEventResponse · object | ArtifactAttestationEventResponse · object | ArtifactReportedEventResponse · object | ArtifactDeploymentEventResponse · object | ArtifactApprovalEventResponse · object | ArtifactStartedRunningEventResponse · object | ArtifactStoppedRunningEventResponse · object | AttestationOverriddenEventResponse · object | null"}},"additionalProperties":false,"type":"object","required":["flow_name","trail_name","moment_number","created_at","template_id","compliance_status","event"],"title":"TrailMomentWithEventResponse","uniqueKey":"","typeLabel":"TrailMomentWithEventResponse · object"},"examples":{"Example":{"title":"Example","value":{"flow_name":"\u003cstring>","trail_name":"\u003cstring>","moment_number":123,"created_at":123,"template_id":"\u003cstring>","compliance_status":{},"event":{"timestamp":123,"reported_by":"\u003cstring>","type":"trail_reported","git_commit_info":{"sha1":"\u003cstring>","message":"\u003cstring>","author":"\u003cstring>","branch":"\u003cstring>","timestamp":123,"url":"\u003cstring>"},"description":"\u003cstring>","origin_url":"\u003cstring>","external_urls":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"9218656c-d14a-488b-8802-91401dca3016":{"description":"Input payload validation failed","content":{"application/json":{"example":{"message":"Input payload validation failed","errors":{"email":"Field must be a valid email address","name":"Field cannot be empty"}},"schema":{"properties":{"message":{"type":"string","title":"Message","description":"Error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"oneOf":[{"type":"object","title":"Errors","description":"Validation errors by field","additionalProperties":{"type":"string","uniqueKey":"errors.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"errors.oneOf.0","typeLabel":"Errors · object"},{"type":"null","title":"Errors","description":"Validation errors by field","uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"Errors · object | null"}},"type":"object","required":["message"],"title":"BadRequestResponseModel","uniqueKey":"","typeLabel":"BadRequestResponseModel · object"},"examples":{"Example":{"title":"Example","value":{"message":"Input payload validation failed","errors":{"email":"Field must be a valid email address","name":"Field cannot be empty"}}}},"exampleType":"examples"}},"exampleType":"examples"},"fe844c59-058f-4d87-9200-a5b26c0d7593":{"description":"You don't have permission to access this resource","content":{"application/json":{"example":{"message":"You don't have permission to access this resource"},"schema":{"properties":{"message":{"type":"string","title":"Message","description":"Error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"oneOf":[{"type":"object","title":"Errors","description":"Validation errors by field","additionalProperties":{"type":"string","uniqueKey":"errors.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"errors.oneOf.0","typeLabel":"Errors · object"},{"type":"null","title":"Errors","description":"Validation errors by field","uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"Errors · object | null"}},"type":"object","required":["message"],"title":"ForbiddenResponseModel","uniqueKey":"","typeLabel":"ForbiddenResponseModel · object"},"examples":{"Example":{"title":"Example","value":{"message":"You don't have permission to access this resource"}}},"exampleType":"examples"}},"exampleType":"examples"},"e1e99194-dfa9-428f-b06b-017964df418f":{"description":"Flow, trail or moment not found","content":{"application/json":{"example":{"message":"Flow, trail or moment not found"},"schema":{"properties":{"message":{"type":"string","title":"Message","description":"Error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"oneOf":[{"type":"object","title":"Errors","description":"Validation errors by field","additionalProperties":{"type":"string","uniqueKey":"errors.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"errors.oneOf.0","typeLabel":"Errors · object"},{"type":"null","title":"Errors","description":"Validation errors by field","uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"Errors · object | null"}},"type":"object","required":["message"],"title":"NotFoundResponseModel","uniqueKey":"","typeLabel":"NotFoundResponseModel · object"},"examples":{"Example":{"title":"Example","value":{"message":"Flow, trail or moment not found"}}},"exampleType":"examples"}},"exampleType":"examples"},"5353ac07-3084-47a1-ad18-95527f974d29":{"description":"Two slots share an attestation name, so no policy input can be built","content":{"application/json":{"example":{"message":"Two slots share an attestation name, so no policy input can be built"},"schema":{"properties":{"message":{"type":"string","title":"Message","description":"Error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"oneOf":[{"type":"object","title":"Errors","description":"Validation errors by field","additionalProperties":{"type":"string","uniqueKey":"errors.oneOf.0.additionalProperties","typeLabel":"string"},"uniqueKey":"errors.oneOf.0","typeLabel":"Errors · object"},{"type":"null","title":"Errors","description":"Validation errors by field","uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"Errors · object | null"}},"type":"object","required":["message"],"title":"ConflictResponseModel","uniqueKey":"","typeLabel":"ConflictResponseModel · object"},"examples":{"Example":{"title":"Example","value":{"message":"Two slots share an attestation name, so no policy input can be built"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"e9bd3999-723f-4520-9e68-f5daf76ebb42":{"HTTPBearer":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"HTTPBearer"}},"14c7b36a-5d4e-4e63-a9ea-489e55bdbe39":{"HTTPBasic":{"$ref":"f034d083-bb85-4dbb-b3fc-74b08d72845a","scopes":[]}}},"servers":{"46f1752b-c86a-4aff-9fd4-770655ca3d72":{"url":"https://app.kosli.com/api/v2","description":"EU"},"1fbcc30c-3132-4c15-849a-19e98b1095fc":{"url":"https://app.us.kosli.com/api/v2","description":"US"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"HTTPBearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"HTTPBearer","name":"Authorization"}],"title":"HTTPBearer"}]},"originalFileLocation":"https://app.kosli.com/api/v2/openapi.json"},"subdomain":"kosli","siteName":"Kosli Documentation","title":"Get trail moment - Kosli Documentation","contextualStarterQuestions":[],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"api-reference/trails/get-trail-moment.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Get one moment, with each attestation\u0026#x27;s stored body joined onto its slot entry and the event that recorded the moment. A policy is given the moment without event, so remove it before using a fetched moment as a policy\u0026#x27;s test input. moment_expression can be specified as follows: - latest: the newest moment in the series - N: the moment with that moment_number, as cited by the listing example: 42 - @{YYYY-MM-DDTHH:MM:SS}: the newest moment recorded at or before that UTC instant. Fractional seconds are optional, and are read to microseconds. example: @{2026-08-27T12:00:00} Address a moment you already know by its moment_number. An instant carries less precision than the created_at the listing publishes, so one built by rounding a listed created_at can fall before its own moment and select the one before it.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kosli Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get trail moment - Kosli Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get one moment, with each attestation\u0026#x27;s stored body joined onto its slot entry and the event that recorded the moment. A policy is given the moment without event, so remove it before using a fetched moment as a policy\u0026#x27;s test input. moment_expression can be specified as follows: - latest: the newest moment in the series - N: the moment with that moment_number, as cited by the listing example: 42 - @{YYYY-MM-DDTHH:MM:SS}: the newest moment recorded at or before that UTC instant. Fractional seconds are optional, and are read to microseconds. example: @{2026-08-27T12:00:00} Address a moment you already know by its moment_number. An instant carries less precision than the created_at the listing publishes, so one built by rounding a listed created_at can fall before its own moment and select the one before it.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kosli Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kosli.com/api-reference/trails/get-trail-moment\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kosli.mintlify.site/_mintlify/api/og/v2?division=Trails\u0026amp;title=Get+trail+moment\u0026amp;description=Get+one+moment%2C+with+each+attestation%27s+stored+body+joined+onto+its+slot+entry%0Aand+the+event+that+recorded+the+moment.%0A%0AA+policy+is+given+the+moment+without+%60ev\u0026amp;theme=381f3588bbad67d04f5be36e\u0026amp;signature=aae03b7ac295094e783087b54c4108e6f494f45bc7753a8981f4a70f2bf68909\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get trail moment - Kosli Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get one moment, with each attestation\u0026#x27;s stored body joined onto its slot entry and the event that recorded the moment. A policy is given the moment without event, so remove it before using a fetched moment as a policy\u0026#x27;s test input. moment_expression can be specified as follows: - latest: the newest moment in the series - N: the moment with that moment_number, as cited by the listing example: 42 - @{YYYY-MM-DDTHH:MM:SS}: the newest moment recorded at or before that UTC instant. Fractional seconds are optional, and are read to microseconds. example: @{2026-08-27T12:00:00} Address a moment you already know by its moment_number. An instant carries less precision than the created_at the listing publishes, so one built by rounding a listed created_at can fall before its own moment and select the one before it.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kosli.mintlify.site/_mintlify/api/og/v2?division=Trails\u0026amp;title=Get+trail+moment\u0026amp;description=Get+one+moment%2C+with+each+attestation%27s+stored+body+joined+onto+its+slot+entry%0Aand+the+event+that+recorded+the+moment.%0A%0AA+policy+is+given+the+moment+without+%60ev\u0026amp;theme=381f3588bbad67d04f5be36e\u0026amp;signature=aae03b7ac295094e783087b54c4108e6f494f45bc7753a8981f4a70f2bf68909\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kosli/7UeZPXzpjJmWmx3T/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kosli Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1C4BC6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kosli.com/api-reference/trails/get-trail-moment\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/trails/get-trail-moment.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kosli.com/#organization\",\"name\":\"Kosli Documentation\",\"url\":\"https://docs.kosli.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kosli/Cee1LAu-Jhawp1Om/logo/kosli-logo-light-main.svg?fit=max\u0026auto=format\u0026n=Cee1LAu-Jhawp1Om\u0026q=85\u0026s=fb05fdbb0c9c9ae7da266a500eac2be6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kosli.com#website\",\"name\":\"Kosli Documentation\",\"url\":\"https://docs.kosli.com\",\"publisher\":{\"@id\":\"https://docs.kosli.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment#webpage\",\"url\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment\",\"name\":\"Get trail moment\",\"description\":\"Get one moment, with each attestation's stored body joined onto its slot entry and the event that recorded the moment. A policy is given the moment without event, so remove it before using a fetched moment as a policy's test input. moment_expression can be specified as follows: - latest: the newest moment in the series - N: the moment with that moment_number, as cited by the listing example: 42 - @{YYYY-MM-DDTHH:MM:SS}: the newest moment recorded at or before that UTC instant. Fractional seconds are optional, and are read to microseconds. example: @{2026-08-27T12:00:00} Address a moment you already know by its moment_number. An instant carries less precision than the created_at the listing publishes, so one built by rounding a listed created_at can fall before its own moment and select the one before it.\",\"isPartOf\":{\"@id\":\"https://docs.kosli.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Trails\",\"item\":\"https://docs.kosli.com/api-reference/trails/list-trails-for-organization\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get trail moment\",\"item\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment#apireference\",\"headline\":\"Get trail moment\",\"name\":\"Get trail moment\",\"description\":\"Get one moment, with each attestation's stored body joined onto its slot entry and the event that recorded the moment. A policy is given the moment without event, so remove it before using a fetched moment as a policy's test input. moment_expression can be specified as follows: - latest: the newest moment in the series - N: the moment with that moment_number, as cited by the listing example: 42 - @{YYYY-MM-DDTHH:MM:SS}: the newest moment recorded at or before that UTC instant. Fractional seconds are optional, and are read to microseconds. example: @{2026-08-27T12:00:00} Address a moment you already know by its moment_number. An instant carries less precision than the created_at the listing publishes, so one built by rounding a listed created_at can fall before its own moment and select the one before it.\",\"url\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kosli.com/api-reference/trails/get-trail-moment#webpage\"},\"publisher\":{\"@id\":\"https://docs.kosli.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kosli.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kosli Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kosli Documentation","nav":{"global":null,"tabs":[{"tab":"Discover Kosli","pages":[{"title":"Discover Kosli","href":"/understand_kosli/what_is_kosli"}]},{"tab":"Platform administration","pages":[{"title":"Platform administration","href":"/user/default_organization"}]},{"tab":"Risks and controls","pages":[{"title":"Risks and controls","href":"/understand_kosli/risks"}]},{"tab":"Environments and runtime","pages":[{"title":"Environments and runtime","href":"/administration/managing_environments/overview"}]},{"tab":"Record evidence","pages":[{"title":"Record evidence","href":"/tutorials/organizing_with_spaces"}]},{"tab":"Reference","menu":[{"item":"CLI Reference","icon":"terminal","pages":[{"title":"CLI Reference","href":"/client_reference/overview"}]},{"item":"API Reference","icon":"code","groups":[{"group":"Get started","pages":[{"title":"Kosli API","sidebarTitle":"Overview","icon":"book-open","href":"/api-reference/overview"}]},{"group":"Actions","pages":[{"title":"List actions","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /actions/{org}","href":"/api-reference/actions/list-actions"},{"title":"Create or update environment action","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /actions/{org}/environments","href":"/api-reference/actions/create-or-update-environment-action"},{"title":"Create or update flow action","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /actions/{org}/flows","href":"/api-reference/actions/create-or-update-flow-action"},{"title":"Get action","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /actions/{org}/{action_number}","href":"/api-reference/actions/get-action"},{"title":"Delete an action","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json delete /actions/{org}/{action_number}","href":"/api-reference/actions/delete-an-action"}]},{"group":"Allowlists","pages":[{"title":"List allowlist","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /allowlists/{org}","href":"/api-reference/allowlists/list-allowlist"},{"title":"Allow artifact for environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /allowlists/{org}/{env_name}","href":"/api-reference/allowlists/allow-artifact-for-environment"}]},{"group":"Artifacts","pages":[{"title":"List artifacts","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /artifacts/{org}","href":"/api-reference/artifacts/list-artifacts"},{"title":"List artifacts in flow","deprecated":true,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /artifacts/{org}/{flow_name}","href":"/api-reference/artifacts/list-artifacts-in-flow"},{"title":"Report artifact","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /artifacts/{org}/{flow_name}","href":"/api-reference/artifacts/report-artifact"},{"title":"Get artifacts by commit SHA","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /artifacts/{org}/{flow_name}/commit_sha/{commit_sha}","href":"/api-reference/artifacts/get-artifacts-by-commit-sha"},{"title":"Get artifact by fingerprint","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /artifacts/{org}/{flow_name}/fingerprint/{fingerprint}","href":"/api-reference/artifacts/get-artifact-by-fingerprint"},{"title":"Get artifact audit package","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /artifacts/{org}/{flow_name}/{fingerprint}/audit_package","href":"/api-reference/artifacts/get-artifact-audit-package"},{"title":"Get latest artifact commit","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /artifacts/{org}/{flow_name}/{fingerprint}/latest_commit","href":"/api-reference/artifacts/get-latest-artifact-commit"}]},{"group":"Asserts","pages":[{"title":"Assert artifact","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /asserts/{org}/fingerprint/{fingerprint}","href":"/api-reference/asserts/assert-artifact"}]},{"group":"Attestation","pages":[{"title":"List system attestation types","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/system-attestation-types","href":"/api-reference/attestation/list-system-attestation-types"},{"title":"List attestations","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/{org}","href":"/api-reference/attestation/list-attestations"},{"title":"List attestations for criteria","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/{org}/list_attestations_for_criteria","href":"/api-reference/attestation/list-attestations-for-criteria"},{"title":"Create an attachment upload","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/uploads","href":"/api-reference/attestation/create-an-attachment-upload"},{"title":"List flow attestations","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/{org}/{flow_name}","href":"/api-reference/attestation/list-flow-attestations"},{"title":"Get artifact attestation","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/{org}/{flow_name}/artifact/{fingerprint}/{attestation_name}","href":"/api-reference/attestation/get-artifact-attestation"},{"title":"Get trail attestation by ID","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/{org}/{flow_name}/trail/{trail_name}/attestation/{attestation_id}","href":"/api-reference/attestation/get-trail-attestation-by-id"},{"title":"Get attestation evidence file","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/{org}/{flow_name}/trail/{trail_name}/attestation/{attestation_id}/evidence","href":"/api-reference/attestation/get-attestation-evidence-file"},{"title":"Attest custom","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/custom","href":"/api-reference/attestation/attest-custom"},{"title":"Attest generic","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/generic","href":"/api-reference/attestation/attest-generic"},{"title":"Attest Jira issue","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/jira","href":"/api-reference/attestation/attest-jira-issue"},{"title":"Attest JUnit test results","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/junit","href":"/api-reference/attestation/attest-junit-test-results"},{"title":"Override attestation","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/override","href":"/api-reference/attestation/override-attestation"},{"title":"Attest pull request","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/pull_request","href":"/api-reference/attestation/attest-pull-request"},{"title":"Attest Snyk scan","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/snyk","href":"/api-reference/attestation/attest-snyk-scan"},{"title":"Attest Sonar scan","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/sonar","href":"/api-reference/attestation/attest-sonar-scan"},{"title":"Attest system","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /attestations/{org}/{flow_name}/trail/{trail_name}/system","href":"/api-reference/attestation/attest-system"},{"title":"Get trail attestation","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /attestations/{org}/{flow_name}/trail/{trail_name}/{attestation_name}","href":"/api-reference/attestation/get-trail-attestation"}]},{"group":"Builds","pages":[{"title":"List Builds","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /builds/{org}","href":"/api-reference/builds/list-builds"},{"title":"Build frequency statistics","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /builds/{org}/statistics","href":"/api-reference/builds/build-frequency-statistics"}]},{"group":"Controls","pages":[{"title":"List controls","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}","href":"/api-reference/controls/list-controls"},{"title":"Create a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /controls/{org}","href":"/api-reference/controls/create-a-control"},{"title":"List distinct tag key/value pairs for an org's controls","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}/tags","href":"/api-reference/controls/list-distinct-tag-keyvalue-pairs-for-an-orgs-controls"},{"title":"Get a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}/{identifier}","href":"/api-reference/controls/get-a-control"},{"title":"Update a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /controls/{org}/{identifier}","href":"/api-reference/controls/update-a-control"},{"title":"Archive a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /controls/{org}/{identifier}/archive","href":"/api-reference/controls/archive-a-control"},{"title":"Environment coverage for a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}/{identifier}/coverage","href":"/api-reference/controls/environment-coverage-for-a-control"},{"title":"List decisions for a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}/{identifier}/decisions","href":"/api-reference/controls/list-decisions-for-a-control"},{"title":"Get a single decision for a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}/{identifier}/decisions/{decision_id}","href":"/api-reference/controls/get-a-single-decision-for-a-control"},{"title":"Unarchive a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /controls/{org}/{identifier}/unarchive","href":"/api-reference/controls/unarchive-a-control"},{"title":"List versions of a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}/{identifier}/versions","href":"/api-reference/controls/list-versions-of-a-control"},{"title":"Get a specific version of a control","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /controls/{org}/{identifier}/versions/{version_number}","href":"/api-reference/controls/get-a-specific-version-of-a-control"}]},{"group":"Custom Attestation Types","pages":[{"title":"List custom attestation types","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /custom-attestation-types/{org}","href":"/api-reference/custom-attestation-types/list-custom-attestation-types"},{"title":"Create or update custom attestation type","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /custom-attestation-types/{org}","href":"/api-reference/custom-attestation-types/create-or-update-custom-attestation-type"},{"title":"Get custom attestation type","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /custom-attestation-types/{org}/{custom_attestation_type_name}","href":"/api-reference/custom-attestation-types/get-custom-attestation-type"},{"title":"Archive custom attestation type","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /custom-attestation-types/{org}/{custom_attestation_type_name}/archive","href":"/api-reference/custom-attestation-types/archive-custom-attestation-type"}]},{"group":"Deployments","pages":[{"title":"List Deployments","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /deployments/{org}","href":"/api-reference/deployments/list-deployments"},{"title":"Get Deployment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /deployments/{org}/{env_name}/{fingerprint}","href":"/api-reference/deployments/get-deployment"}]},{"group":"EnvDiff","pages":[{"title":"Get environment diff","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /env-diff/{org}","href":"/api-reference/envdiff/get-environment-diff"}]},{"group":"Environments","pages":[{"title":"List environments","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /environments/{org}","href":"/api-reference/environments/list-environments"},{"title":"Create or update environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}","href":"/api-reference/environments/create-or-update-environment"},{"title":"Get environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /environments/{org}/{env_name}","href":"/api-reference/environments/get-environment"},{"title":"Update environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json patch /environments/{org}/{env_name}","href":"/api-reference/environments/update-environment"},{"title":"Archive environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/archive","href":"/api-reference/environments/archive-environment"},{"title":"Get environment audit log","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /environments/{org}/{env_name}/auditlog","href":"/api-reference/environments/get-environment-audit-log"},{"title":"Get deployment frequency","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /environments/{org}/{env_name}/deployment_frequency","href":"/api-reference/environments/get-deployment-frequency"},{"title":"List deployments for an environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /environments/{org}/{env_name}/deployments","href":"/api-reference/environments/list-deployments-for-an-environment"},{"title":"List environment events","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /environments/{org}/{env_name}/events","href":"/api-reference/environments/list-environment-events"},{"title":"Add environment to logical environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/join","href":"/api-reference/environments/add-environment-to-logical-environment"},{"title":"Attach policy to environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /environments/{org}/{env_name}/policies","href":"/api-reference/environments/attach-policy-to-environment"},{"title":"Detach policy from environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json delete /environments/{org}/{env_name}/policies","href":"/api-reference/environments/detach-policy-from-environment"},{"title":"Rename environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/rename","href":"/api-reference/environments/rename-environment"},{"title":"Report ECS environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/ECS","href":"/api-reference/environments/report-ecs-environment"},{"title":"Report K8S environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/K8S","href":"/api-reference/environments/report-k8s-environment"},{"title":"Report S3 environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/S3","href":"/api-reference/environments/report-s3-environment"},{"title":"Report Azure Web and Function Apps environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/azure-apps","href":"/api-reference/environments/report-azure-web-and-function-apps-environment"},{"title":"Report Cloud Run environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/cloud-run","href":"/api-reference/environments/report-cloud-run-environment"},{"title":"Report Docker environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/docker","href":"/api-reference/environments/report-docker-environment"},{"title":"Report Lambda environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/lambda","href":"/api-reference/environments/report-lambda-environment"},{"title":"Report server environment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /environments/{org}/{env_name}/report/server","href":"/api-reference/environments/report-server-environment"}]},{"group":"Evaluations","pages":[{"title":"List evaluations","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /evaluations/{org}","href":"/api-reference/evaluations/list-evaluations"},{"title":"Create an evaluation","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /evaluations/{org}","href":"/api-reference/evaluations/create-an-evaluation"},{"title":"Get an evaluation","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /evaluations/{org}/{evaluation_id}","href":"/api-reference/evaluations/get-an-evaluation"},{"title":"Get an evaluation's input","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /evaluations/{org}/{evaluation_id}/input","href":"/api-reference/evaluations/get-an-evaluations-input"}]},{"group":"Flows","pages":[{"title":"List flows","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /flows/{org}","href":"/api-reference/flows/list-flows"},{"title":"Create or update flow","deprecated":true,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /flows/{org}","href":"/api-reference/flows/create-or-update-flow"},{"title":"Create or update flow with template","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /flows/{org}/template_file","href":"/api-reference/flows/create-or-update-flow-with-template"},{"title":"Get flow","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /flows/{org}/{flow_name}","href":"/api-reference/flows/get-flow"},{"title":"Archive flow","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /flows/{org}/{flow_name}/archive","href":"/api-reference/flows/archive-flow"},{"title":"Rename flow","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /flows/{org}/{flow_name}/rename","href":"/api-reference/flows/rename-flow"}]},{"group":"Audit Log","pages":[{"title":"List membership/role change history for an org","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /membership-audit-log/{org}","href":"/api-reference/audit-log/list-membershiprole-change-history-for-an-org"}]},{"group":"Notification Config","pages":[{"title":"Get notification configuration","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /notification-config/{org}/{notification_type}","href":"/api-reference/notification-config/get-notification-configuration"},{"title":"Create or update notification configuration","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /notification-config/{org}/{notification_type}","href":"/api-reference/notification-config/create-or-update-notification-configuration"},{"title":"Delete notification configuration","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json delete /notification-config/{org}/{notification_type}","href":"/api-reference/notification-config/delete-notification-configuration"}]},{"group":"Organizations","pages":[{"title":"Get organization","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /organizations/{org}","href":"/api-reference/organizations/get-organization"},{"title":"List environment notifications","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /organizations/{org}/environments_notifications","href":"/api-reference/organizations/list-environment-notifications"},{"title":"Create or update environment notification","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /organizations/{org}/environments_notifications","href":"/api-reference/organizations/create-or-update-environment-notification"},{"title":"Get environment notification","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /organizations/{org}/environments_notifications/{notification_number}","href":"/api-reference/organizations/get-environment-notification"},{"title":"Update environment notification","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /organizations/{org}/environments_notifications/{notification_number}","href":"/api-reference/organizations/update-environment-notification"},{"title":"Delete environment notification","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json delete /organizations/{org}/environments_notifications/{notification_number}","href":"/api-reference/organizations/delete-environment-notification"}]},{"group":"Policies","pages":[{"title":"List policies","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /policies/{org}","href":"/api-reference/policies/list-policies"},{"title":"Create or update policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /policies/{org}","href":"/api-reference/policies/create-or-update-policy"},{"title":"Get policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /policies/{org}/{policy_name}","href":"/api-reference/policies/get-policy"}]},{"group":"Rego Policies","pages":[{"title":"List rego policies","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /rego-policies/{org}","href":"/api-reference/rego-policies/list-rego-policies"},{"title":"Get a rego policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /rego-policies/{org}/{identifier}","href":"/api-reference/rego-policies/get-a-rego-policy"},{"title":"Publish a version of a rego policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /rego-policies/{org}/{identifier}","href":"/api-reference/rego-policies/publish-a-version-of-a-rego-policy"},{"title":"List versions of a rego policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /rego-policies/{org}/{identifier}/versions","href":"/api-reference/rego-policies/list-versions-of-a-rego-policy"},{"title":"Get a version of a rego policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /rego-policies/{org}/{identifier}/versions/{version_number}","href":"/api-reference/rego-policies/get-a-version-of-a-rego-policy"},{"title":"Download the files of a version of a rego policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /rego-policies/{org}/{identifier}/versions/{version_number}/bundle","href":"/api-reference/rego-policies/download-the-files-of-a-version-of-a-rego-policy"},{"title":"List the files of a version of a rego policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /rego-policies/{org}/{identifier}/versions/{version_number}/files","href":"/api-reference/rego-policies/list-the-files-of-a-version-of-a-rego-policy"},{"title":"Get the source of a file in a version of a rego policy","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /rego-policies/{org}/{identifier}/versions/{version_number}/files/{file_path}","href":"/api-reference/rego-policies/get-the-source-of-a-file-in-a-version-of-a-rego-policy"}]},{"group":"Repos","pages":[{"title":"List repos","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /repos/{org}","href":"/api-reference/repos/list-repos"},{"title":"List repo filter options","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /repos/{org}/filter-options","href":"/api-reference/repos/list-repo-filter-options"},{"title":"Get live artifacts for a repo","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /repos/{org}/live-artifacts/{repo_name}","href":"/api-reference/repos/get-live-artifacts-for-a-repo"},{"title":"List repo tag choices","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /repos/{org}/tags","href":"/api-reference/repos/list-repo-tag-choices"},{"title":"Get a repo","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /repos/{org}/{repo_name}","href":"/api-reference/repos/get-a-repo"},{"title":"Deployment frequency and lead-time statistics for a repo","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /repos/{org}/{repo}/deployment-statistics","href":"/api-reference/repos/deployment-frequency-and-lead-time-statistics-for-a-repo"},{"title":"List deployments for a repo","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /repos/{org}/{repo}/deployments","href":"/api-reference/repos/list-deployments-for-a-repo"}]},{"group":"Schemas","pages":[{"title":"Environment policy schema v1","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /schemas/environment-policy/v1","href":"/api-reference/schemas/environment-policy-schema-v1"},{"title":"Rego policy input schema for a single trail v1","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /schemas/evaluation-input/trail/v1","href":"/api-reference/schemas/rego-policy-input-schema-for-a-single-trail-v1"},{"title":"Rego policy input schema for many trails v1","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /schemas/evaluation-input/trails/v1","href":"/api-reference/schemas/rego-policy-input-schema-for-many-trails-v1"},{"title":"Flow template schema v1","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /schemas/flow-template/v1","href":"/api-reference/schemas/flow-template-schema-v1"}]},{"group":"Search","pages":[{"title":"Search commits by SHA prefix","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /search/{org}/commit/{sha_prefix}","href":"/api-reference/search/search-commits-by-sha-prefix"},{"title":"List trails for a commit","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /search/{org}/commit/{sha}/trails","href":"/api-reference/search/list-trails-for-a-commit"},{"title":"Search artifacts by SHA or fingerprint","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /search/{org}/sha/{search_value}","href":"/api-reference/search/search-artifacts-by-sha-or-fingerprint"}]},{"group":"Service Accounts","pages":[{"title":"List service accounts in an organization","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /service-accounts/{org}","href":"/api-reference/service-accounts/list-service-accounts-in-an-organization"},{"title":"Create a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /service-accounts/{org}","href":"/api-reference/service-accounts/create-a-service-account"},{"title":"Get a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /service-accounts/{org}/{name}","href":"/api-reference/service-accounts/get-a-service-account"},{"title":"Delete a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json delete /service-accounts/{org}/{name}","href":"/api-reference/service-accounts/delete-a-service-account"},{"title":"Update a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json patch /service-accounts/{org}/{name}","href":"/api-reference/service-accounts/update-a-service-account"},{"title":"List API keys for a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /service-accounts/{org}/{name}/api-keys","href":"/api-reference/service-accounts/list-api-keys-for-a-service-account"},{"title":"Create an API key for a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /service-accounts/{org}/{name}/api-keys","href":"/api-reference/service-accounts/create-an-api-key-for-a-service-account"},{"title":"Get an API key for a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /service-accounts/{org}/{name}/api-keys/{key_id}","href":"/api-reference/service-accounts/get-an-api-key-for-a-service-account"},{"title":"Revoke an API key for a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json delete /service-accounts/{org}/{name}/api-keys/{key_id}","href":"/api-reference/service-accounts/revoke-an-api-key-for-a-service-account"},{"title":"Rotate an API key for a service account","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /service-accounts/{org}/{name}/api-keys/{key_id}/rotate","href":"/api-reference/service-accounts/rotate-an-api-key-for-a-service-account"}]},{"group":"Snapshots","pages":[{"title":"List snapshots","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /snapshots/{org}/{env_name}","href":"/api-reference/snapshots/list-snapshots"},{"title":"Get snapshot","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /snapshots/{org}/{env_name}/{snapshot_expression}","href":"/api-reference/snapshots/get-snapshot"}]},{"group":"Tags","pages":[{"title":"Update tags","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json patch /tags/{org}/{resource_type}/{resource_id}","href":"/api-reference/tags/update-tags"}]},{"group":"Trails","pages":[{"title":"List trails for organization","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}","href":"/api-reference/trails/list-trails-for-organization"},{"title":"List trails","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}","href":"/api-reference/trails/list-trails"},{"title":"Begin trail","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /trails/{org}/{flow_name}","href":"/api-reference/trails/begin-trail"},{"title":"Get trail","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}","href":"/api-reference/trails/get-trail"},{"title":"Download trail audit package","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/audit_package","href":"/api-reference/trails/download-trail-audit-package"},{"title":"Download trail audit PDF","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/audit_pdf","href":"/api-reference/trails/download-trail-audit-pdf"},{"title":"List trail events","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/events","href":"/api-reference/trails/list-trail-events"},{"title":"Download trail events PDF","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/events_pdf","href":"/api-reference/trails/download-trail-events-pdf"},{"title":"List trail moments","description":"List a trail's moments, newest first.\n\nA moment is recorded each time a trail event changes the trail's compliance\nslots. Read one back with `GET .../moments/{moment_expression}`, citing the\n`moment_number` from this listing.","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/moments","href":"/api-reference/trails/list-trail-moments"},{"title":"Get trail moment","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/moments/{moment_expression}","href":"/api-reference/trails/get-trail-moment"},{"title":"Download trail status PDF","description":"Download the trail's compliance status at a point in time as a PDF, stamped\nwith the time that status was recorded.","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /trails/{org}/{flow_name}/{trail_name}/status_pdf","href":"/api-reference/trails/download-trail-status-pdf"}]},{"group":"User","pages":[{"title":"List personal API keys","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /user/api-keys","href":"/api-reference/user/list-personal-api-keys"},{"title":"Create a personal API key","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /user/api-keys","href":"/api-reference/user/create-a-personal-api-key"},{"title":"Get a personal API key","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /user/api-keys/{key_id}","href":"/api-reference/user/get-a-personal-api-key"},{"title":"Revoke a personal API key","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json delete /user/api-keys/{key_id}","href":"/api-reference/user/revoke-a-personal-api-key"},{"title":"Rotate a personal API key","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json post /user/api-keys/{key_id}/rotate","href":"/api-reference/user/rotate-a-personal-api-key"},{"title":"Get default organization","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json get /user/default-org","href":"/api-reference/user/get-default-organization"},{"title":"Set default organization","deprecated":null,"version":null,"openapi":"https://app.kosli.com/api/v2/openapi.json put /user/{org}","href":"/api-reference/user/set-default-organization"}]}]},{"item":"GitHub Action Reference","icon":"github","pages":[{"title":"GitHub Action Reference","href":"/github-action-reference/setup_cli_action"}]},{"item":"Terraform Reference","icon":"cubes","pages":[{"title":"Terraform Reference","href":"/terraform-reference"}]},{"item":"Helm Reference","icon":"layer-group","pages":[{"title":"Helm Reference","href":"/helm/k8s_reporter/overview"}]},{"item":"Template Reference","icon":"file-code","pages":[{"title":"Template Reference","href":"/template-reference/flow_template"}]},{"item":"Policy Reference","icon":"scroll","pages":[{"title":"Policy Reference","href":"/policy-reference/environment_policy"}]}]},{"tab":"Changelog","icon":"clock","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Get trail moment - Kosli Documentation","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}