Skip to content
Connect an agent

Organisations

Read an organisation's compliance evidence

Whether the plan includes compliance evidence, the settings, each framework with each control's share of current diagrams, every repository and diagram with its status, and the hand-drawn Mermaid found, with hints.

GET/orgs/{org}/evidence

TL;DR

QuestionAnswer
What does it do?Read an organisation's compliance evidence.
What does it take?org in the path.
What does it return?Status 200 with a body of type OrgEvidence.
What can go wrong?401 not signed in; 404 no such organisation, or the caller is not a member of it; 429 too many requests; 503 organisations are not set up on this server. Every failure uses the one error envelope.

What it does

Whether the plan includes compliance evidence, the settings, each framework with each control's share of current diagrams, every repository and diagram with its status, and the hand-drawn Mermaid found, with hints. Evidence for controls, never a claim that one is met. Every member.

Path parameters

FieldTypeRequiredDescription
orgstringyesThe organisation's id or its slug.

Responses

StatusMeaningBody
200The evidence.OrgEvidence
401Not signed in.ErrorResponse
404No such organisation, or the caller is not a member of it.ErrorResponse
429Too many requests.ErrorResponse
503Organisations are not set up on this server.ErrorResponse

Response body

A 200 answer has the type OrgEvidence.

FieldTypeRequiredDescription
activebooleanyesTrue when the plan includes compliance evidence (Enterprise). When false the lists are empty.
plan"free" | "pro" | "enterprise"yes
retentionDaysintegeryesminimum 0.
legalHoldbooleanyes
githubLinkedbooleanyes
settingsEvidenceSettingsyes
settings.frameworks("pci-dss" | "soc2" | "iso27001" | "nist-800-53")[]yes
settings.staleDaysintegeryes
settings.defaultsbooleanyesTrue when nothing was saved and these are the defaults: every framework, 14 days.
frameworksEvidenceFrameworkSummary[]yes
frameworks[].id"pci-dss" | "soc2" | "iso27001" | "nist-800-53"yes
frameworks[].namestringyes
frameworks[].versionstringyes
frameworks[].markstringyes
frameworks[].sourcestringyes
frameworks[].chosenbooleanyes
frameworks[].controlsEvidenceControlSummary[]yes
frameworks[].controls[].idstringyes
frameworks[].controls[].refstringyes
frameworks[].controls[].titlestringyes
frameworks[].controls[].evidencestringyes
frameworks[].controls[].textstringyes
frameworks[].controls[].paraphrasedbooleanyes
frameworks[].controls[].howstringyes
frameworks[].controls[].limitstringyes
frameworks[].controls[].totalintegeryesDiagrams mapped to it, hand-drawn ones included. minimum 0.
frameworks[].controls[].currentintegeryesOf those, the ones that are current. minimum 0.
repositoriesEvidenceRepository[]yes
repositories[].repositorystringyes
repositories[].status"current" | "drifted" | "stale" | "unknown"yescurrent, drifted, stale or unknown, by the checks on the default branch (docs/architecture/compliance-evidence.md, section 2).
repositories[].repositoryIdstring | nullyesThe GitHub App's id of the repository, when an installation reaches it.
repositories[].privateboolean | nullyes
repositories[].archivedbooleanyes
repositories[].setup"none" | "pr_open" | "merged" | "closed" | nullyes
repositories[].diagramsintegeryesminimum 0.
repositories[].currentintegeryesminimum 0.
repositories[].driftedintegeryesminimum 0.
repositories[].staleintegeryesminimum 0.
repositories[].unknownintegeryesminimum 0.
repositories[].unverifiedintegeryesminimum 0.
repositories[].lastCheckedAtinteger | nullyes
repositories[].runUrlstring | nullyes
repositories[].controlsstring[]yes
repositories[].badgebooleanyesTrue when its README badge is on.
repositories[].scannedAtinteger | nullyes
diagramsEvidenceDiagram[]yes
diagrams[].repositorystringyes
diagrams[].namestringyes
diagrams[].outstringyesThe diagram's path in the repository.
diagrams[].formatstring | nullyesThe importer it is drawn with, as the run reported or as its name says, or null.
diagrams[].status"current" | "drifted" | "stale" | "unknown"yescurrent, drifted, stale or unknown, by the checks on the default branch (docs/architecture/compliance-evidence.md, section 2).
diagrams[].lastKnown"current" | "drifted" | nullyesFor a stale diagram, what its latest conclusive check found.
diagrams[].lastCheckFailedbooleanyesTrue when the latest check could not make the diagram; the status is the one before it.
diagrams[].driftedSinceinteger | nullyesFor a drifted diagram, when its drift began.
diagrams[].addedintegeryesminimum 0.
diagrams[].removedintegeryesminimum 0.
diagrams[].changedintegeryesminimum 0.
diagrams[].lastCheckedAtinteger | nullyes
diagrams[].lastShastring | nullyes
diagrams[].runUrlstring | nullyes
diagrams[].pullRequestUrlstring | nullyes
diagrams[].controlsstring[]yesThe controls it serves as evidence for, suggested or set.
diagrams[].suggestedstring[]yesThe controls its format suggests.
findingsEvidenceFinding[]yes
findings[].idstringyes
findings[].repositorystringyes
findings[].pathstringyes
findings[].lineintegeryes
findings[].mermaidTypestring | nullyes
findings[].kindstring | nullyes
findings[].nodesintegeryesminimum 0.
findings[].matchedintegeryesminimum 0.
findings[].sourceobject | nullyesThe detected source that shares the most names with it.
findings[].source.namestringyes
findings[].source.formatstringyes
findings[].mentionsMissingstring[]yesHints: names it draws that no source declares. Hints, not verification.
findings[].codeMissingstring[]yesHints: names the matching source declares that it does not draw.
findings[].pullRequestNumberinteger | nullyes
findings[].supersededbooleanyesTrue once the source its pull request added has a check.
findings[].controlsstring[]yes
findings[].suggestedstring[]yes
findings[].scannedAtintegeryes
trendobject | nullyesThe 90-day trend, from the stored checks. Null on a plan without compliance evidence.
trend.daysstring[]yesThe last 90 UTC dates, oldest first.
trend.overall(number | null)[]yesThe share of diagrams drawn from code that were current at the end of each day, 0 to 1, or null before any.
trend.frameworksobjectyesThe same share over the diagrams mapped to each framework's controls.
trend.frameworks.pci-dss(number | null)[]no
trend.frameworks.soc2(number | null)[]no
trend.frameworks.iso27001(number | null)[]no
trend.frameworks.nist-800-53(number | null)[]no
truncatedbooleanyes

See also

DocWhy
API referenceEvery endpoint, and the error envelope
SchemasEvery request and response type
Tool referenceThe operations as callable tools