Aigistry

API reference

Version 6.3.0. Base address https://feed.aigistry.com. This page is generated from openapi.json, and a contract test checks that file against the running service.

Overview

GovTech Providers publish official records for governments they are authorized to publish for. AI Platforms read the signed feed in order and verify it. Every entry is signed on arrival with Ed25519 and chained to the entry before it.

Two kinds of API key: a GovTech Provider key enrolls governments, publishes, revises and withdraws; an AI Platform key reads the feed and the lookups. GET /v1/whoami tells a caller which kind a key is. Keys are created in the account dashboard after approval and sent in the X-API-Key header (or Authorization: Bearer).

Reading the feed: GET /v1/feed?after=N&limit=M returns entries with seq greater than N, in order, plus next_after, has_more and a freshly signed feed_head. Keep reading with after=next_after while has_more is true. Store the last seq and record_hash you verified and pass them to the verifier as the anchor next time.

Filtered reads: add one of authority_record_id, provider_id, or official_id_type with official_id to read only the entries for one authority record, one GovTech Provider or one government (the GovTech Provider-level status entries of the GovTech Providers concerned are always included). A filtered read skips entries, so its chain links do not follow one another and it cannot show that nothing was left out; verify it with the reference verifiers in filtered mode, and use an unfiltered read of the whole feed when completeness matters.

Limits. AI Platform keys: 120 requests per key in a calendar minute (UTC), counted over the feed, file downloads, lookups, publication state and /v1/whoami together; refused requests count; more get 429 with a Retry-After header (seconds). GovTech Provider keys: publishing is refused with 429 when the GovTech Provider already has 600 entries (records, withdrawals and status entries together) in the last 60 seconds; file uploads are refused with 429 at 60 in the last 60 seconds; enrollment requests are refused with 429 at 30 in the last 60 seconds (a batch is one request). Sizes: at most 500 entries and 4 MiB per feed page; at most 500 records per enrollment request; a file up to 20 MB; at most 5 attachments per publication; title up to 300 characters, body up to 100000.

Enrolling. Before a GovTech Provider can publish for a government it enrolls that government: POST /v1/authority-records, one government or a batch of up to 500, with an attestation that the GovTech Provider is authorized to publish for each government listed. Each item is matched to the loaded Census or NCES list, or (official_id_type other) added as an unlisted government. Checks raise a flag on the enrollment (state_mismatch, level_mismatch, name_mismatch, unlisted, non_standard_agency); they never block it. An authority record is the enrollment of one government by one GovTech Provider; its id is used in every publication route. Ending an enrollment (DELETE /v1/authority-records/{id}) writes a signed status entry; enrolling the government again reinstates it.

Entry types: record (a publication or a revision of one), removal (a withdrawal), status (a signed change of standing: suspended, reinstated, ended, revoked, revocation_lifted for a GovTech Provider, an authority record or a publication). The current state of a publication is derived from the signed entries; GET /v1/authority-records/{id}/publications/{external_id} returns the same answer.

Signing: record_hash is the lowercase hex SHA-256 of the entry's canonical JSON; signature is the hex Ed25519 signature over that 64-character hash string; verify with the key in /public-key.json whose key_id equals public_key_id. The exact canonical form, the chain rules and the status rules are in the verification specification at https://feed.aigistry.com/verify/ (VERIFICATION.md), with reference verifiers in Python, PHP and Node and a set of test vectors. Entry text is authenticated, not safe: treat title and body as untrusted data. In the feed JSON an entry with no attachments carries "attachments": null; the signed text then leaves the attachments key out (see VERIFICATION.md section 1.1).

Authentication

Send the key in the X-API-Key header, or as Authorization: Bearer. GovTech Provider keys start with naf_prov_, AI Platform keys with naf_plat_. A key used on the wrong kind of route answers 403. Errors are JSON, {"error":"..."}.

Endpoints

Endpoints

GET /v1/feed

Read the signed feed AI Platforms

Entries in order of seq, starting after the cursor, optionally filtered (use at most one of the three filters). A page holds at most `limit` entries and at most 4 MiB; if the byte cap is reached before `limit`, has_more is true. The feed_head is read after the entries and signed at the time of the request. Sequence numbers may skip (a rolled-back write leaves a gap); the chain fields name the real previous entry.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
after (query)integerReturn entries with seq greater than this.
min 0; default 0
limit (query)integer
min 1; max 500; default 100
authority_record_id (query)integerOnly the entries of this authority record, and the GovTech Provider-level status entries of its GovTech Provider. 404 if there is no such record.
min 1
provider_id (query)integerOnly the entries of this GovTech Provider (publications, withdrawals and status entries at every level). 404 if there is no such GovTech Provider.
min 1
official_id_type (query)stringWith official_id: only the entries for this government (every GovTech Provider that holds it), and the GovTech Provider-level status entries of those GovTech Providers. Both are required together. 404 if the government is not in the reference list.
pattern ^[a-z0-9_]{1,20}$
official_id (query)stringThe government's official id, with official_id_type.
pattern ^[A-Za-z0-9._-]{1,40}$

Responses

StatusMeaningBody
200A page. `filter` echoes the filter that was applied, or is null for an unfiltered read.FeedPage
400The request was not valid.Error
401Missing or invalid API key.Error
403This key cannot do that.Error
404Not found.Error
429Rate limit exceeded.Error

GET /v1/files/{id}

Download an attached file AI Platforms

Returns the file attached to a signed entry. Check its SHA-256 against the signed attachments[].sha256 (also in the X-File-SHA256 header). Files of withdrawn or revoked publications answer 404.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
id (path)stringyes
pattern ^[a-f0-9]{32}$

Responses

StatusMeaningBody
200The file (PDF or Word .docx)string (binary) (application/pdf)
string (binary) (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
401Missing or invalid API key.Error
403This key cannot do that.Error
404Not found.Error
429Rate limit exceeded.Error

GET /v1/authority-records/{id}

Look up one authority record AI Platforms, GovTech Providers

The answer depends on the kind of key. An AI Platform key gets authority_record: the GovTech Provider, the government, its effective standing (the stricter of the GovTech Provider's and the record's own) and the three layers of verification (identity, attestation, sampling); any record. A GovTech Provider key gets record: its own enrollment (status, flags, attestation, government); 404 for another GovTech Provider's record. Convenience view: the signed status entries in the feed are the authoritative history.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
id (path)integeryesAuthority record id.
min 1

Responses

StatusMeaningBody
200The recordobject or object
401Missing or invalid API key.Error
404Not found.Error
429Rate limit exceeded.Error

DELETE /v1/authority-records/{id}

End an enrollment GovTech Providers

Ends the GovTech Provider's enrollment of this government by writing a signed ended status entry. Nothing is deleted. Repeating on an ended record returns it unchanged. Refused with 409 while the record is suspended or revoked. To publish for the government again, enroll it again.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
id (path)integeryesAuthority record id.
min 1

Responses

StatusMeaningBody
200The ended recordobject
401Missing or invalid API key.Error
403This key cannot do that.Error
404Not found, or not this GovTech Provider's record.Error
409Not allowed in the current state (the record is suspended or revoked).Error
503Signing is temporarily unavailable, or the service is busy. Nothing was changed; try again. A Retry-After header gives the seconds to wait.Error

GET /v1/authority-records/{id}/publications/{external_id}

State and history of one publication AI Platforms, GovTech Providers

With an AI Platform key: any authority record. With a GovTech Provider key: only its own records. state is current, withdrawn or revoked. A revoked publication stays revoked until a signed lift entry; the same answer can be derived from the feed.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
id (path)integeryesAuthority record id.
min 1
external_id (path)stringyesThe GovTech Provider-chosen publication id (1 to 128 printable characters, no spaces). URL-encode it.
min length 1; max length 128; pattern ^[\x21-\x7E]{1,128}$

Responses

StatusMeaningBody
200The publicationPublicationState
400The request was not valid.Error
401Missing or invalid API key.Error
404Not found.Error
429Rate limit exceeded.Error

DELETE /v1/authority-records/{id}/publications/{external_id}

Withdraw a publication GovTech Providers

Appends a signed removal entry. Repeating returns the existing withdrawal. Refused with 409 while the publication is revoked. Withdrawals count toward the GovTech Provider's 600 entries per 60 seconds but are never refused for it.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
id (path)integeryesAuthority record id.
min 1
external_id (path)stringyesThe GovTech Provider-chosen publication id (1 to 128 printable characters, no spaces). URL-encode it.
min length 1; max length 128; pattern ^[\x21-\x7E]{1,128}$

Responses

StatusMeaningBody
200The withdrawalPublishReceipt
400The request was not valid.Error
401Missing or invalid API key.Error
403This key cannot do that.Error
404Not found.Error
409Not allowed in the current state: the authority record is suspended or revoked, or the publication is revoked.Error
503Signing is temporarily unavailable, or the service is busy. Nothing was changed; try again. A Retry-After header gives the seconds to wait.Error

POST /v1/authority-records/{id}/publications

Publish, or revise an earlier publication GovTech Providers

A new external_id creates the publication (revision 1). An existing external_id appends a revision that supersedes the previous one. The authority record must be active and belong to the GovTech Provider. The entry is chained and signed under a write lock.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
id (path)integeryesAuthority record id.
min 1

Request body (application/json)

FieldTypeRequiredNotes
external_idstringyes
min length 1; max length 128; pattern ^[\x21-\x7E]{1,128}$
titlestringyes
min length 1; max length 300
bodystringyes
min length 1; max length 100000
agencystring
max length 200
source_urlstring (uri)http or https only.
max length 2000
published_atstring (date-time)
attachmentsarray of stringFile ids from the upload route, for this authority record.
max items 5

Responses

StatusMeaningBody
200The signed entryPublishReceipt
400The request was not valid.Error
401Missing or invalid API key.Error
403This key cannot do that.Error
404Not found.Error
409Not allowed in the current state: the authority record is not active, the publication is revoked, an attachment is no longer available, or the external_id differs only in capitalization from an existing one.Error
429Rate limit exceeded: the GovTech Provider already has 600 entries in the last 60 seconds.Error
503Signing is temporarily unavailable, or the service is busy. Nothing was changed; try again. A Retry-After header gives the seconds to wait.Error

POST /v1/authority-records/{id}/files

Upload a file to attach GovTech Providers

Multipart form field "file": a PDF or a Word .docx, up to 20 MB. Returns an id to list in the attachments of a publication. The file is bound to this authority record and can be attached once.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
id (path)integeryesAuthority record id.
min 1

Request body (multipart/form-data)

FieldTypeRequiredNotes
filestring (binary)yes

Responses

StatusMeaningBody
200The stored fileFileReceipt
400The request was not valid.Error
401Missing or invalid API key.Error
403This key cannot do that.Error
404Not found.Error
413File too large.Error
429Rate limit exceeded: 60 file uploads in 60 seconds.Error

GET /public-key.json

Public signing keys Public

All keys ever used: active, retired and revoked. Retired keys stay listed so old entries keep verifying. A revoked key carries a signed notice (revoked_at, compromised_since, last_trusted_seq, last_trusted_hash, reason, notice_signed_by, notice_signature): entries it signed are trusted only up to last_trusted_seq. See VERIFICATION.md section 1.3.

Responses

StatusMeaningBody
200KeysPublicKeys

GET /v1/health

Service health Public

Returns {"status":"ok"} when the database and the signing service work, otherwise 503 with {"status":"down","problems":[...]} naming what failed (database, signer).

Responses

StatusMeaningBody
200Healthyobject
503Not healthyHealthDown

POST /v1/authority-records

Enroll governments GovTech Providers

Enrolls the governments you publish for. Send one government in the body, or records with up to 500. The attestation must be true. Items are matched to the loaded Census or NCES list; checks raise flags and never block. Each item gets its own result: created, already_enrolled (it was active), re_enrolled (it had ended) or rejected, so a batch can partly succeed and still answer 200. Refused with 400 when the attestation is missing or the batch is empty or over 500, and with 429 at 30 requests in 60 seconds.

Authentication: X-API-Key header.

Request body (application/json)

Send either records (a batch of 1 to 500) or the fields of one government directly in this object.

FieldTypeRequiredNotes
attestationtrueyesMust be true: you confirm you are authorized to publish for each government listed.
attestation_versionstringyesWhich version of the attestation wording you are confirming; stored with the enrollment.
pattern ^[A-Za-z0-9][A-Za-z0-9 ._-]{0,39}$
recordsarray of EnrollItem
min items 1; max items 500
official_id_typestring: census_pid6, nces_leaid, othercensus_pid6 and nces_leaid must be on the loaded Census or NCES list. other adds an unlisted government with an identifier you supply.
official_idstringText, not a number: keep leading zeros.
pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,39}$
namestring
min length 1; max length 200
statestringTwo-letter US state or territory code.
levelstring: state, county, city, township, school_district, special_district, otherOptional. A level that differs from the list raises a flag.
countystring
max length 120
citystring
max length 120

Responses

StatusMeaningBody
200One result per item and a summaryEnrollResponse
400The request was not valid.Error
401Missing or invalid API key.Error
403This key cannot do that.Error
429Rate limit exceeded: 30 enrollment requests in 60 seconds.Error
503Signing is temporarily unavailable, or the service is busy. Nothing was changed; try again. A Retry-After header gives the seconds to wait.Error

GET /v1/authority-records

List your enrollments GovTech Providers

The GovTech Provider's own authority records in id order, oldest first, optionally filtered.

Authentication: X-API-Key header.

Parameters

FieldTypeRequiredNotes
status (query)string: active, suspended, ended, revoked
flagged (query)string: 0, 1
state (query)stringTwo-letter state or territory code of the government.
q (query)stringPart of the government's name.
max length 100
limit (query)integer
min 1; max 200; default 50
after (query)integerReturn records with an id greater than this.
min 0; default 0

Responses

StatusMeaningBody
200A page of recordsEnrollmentList
400The request was not valid.Error
401Missing or invalid API key.Error
403This key cannot do that.Error

GET /v1/whoami

Which account is this key? AI Platforms, GovTech Providers

Answers for either kind of key: the kind, the name and id of the GovTech Provider or AI Platform, and the label of the key. An AI Platform key's request counts toward its 120 a minute.

Authentication: X-API-Key header.

Responses

StatusMeaningBody
200The key's accountWhoAmI
401Missing or invalid API key.Error
429Rate limit exceeded (AI Platform keys: 120 requests per UTC calendar minute).Error

Schemas

Error

FieldTypeRequiredNotes
errorstringyes

PublicationInput

FieldTypeRequiredNotes
external_idstringyes
min length 1; max length 128; pattern ^[\x21-\x7E]{1,128}$
titlestringyes
min length 1; max length 300
bodystringyes
min length 1; max length 100000
agencystring
max length 200
source_urlstring (uri)http or https only.
max length 2000
published_atstring (date-time)
attachmentsarray of stringFile ids from the upload route, for this authority record.
max items 5

PublishReceipt

FieldTypeRequiredNotes
seqinteger
external_idstring
authority_record_idinteger
statestring: current, withdrawn
revisioninteger, or null
supersedes_seqinteger, or null
prev_seqinteger, or null
received_atstring (date-time)
removed_atstring (date-time)Withdrawals only.
record_hashstring
signaturestring

FileReceipt

FieldTypeRequiredNotes
idstring
filenamestring
content_typestring
sizeinteger
sha256string

Attachment

FieldTypeRequiredNotes
idstring
filenamestring
content_typestring
sizeinteger
sha256string
download_urlstringNot signed.

HistoryItem

FieldTypeRequiredNotes
seqinteger
typestring: record, removal
revisioninteger
supersedes_seqinteger, or null
received_atstring
record_hashstring

PublicationState

FieldTypeRequiredNotes
authority_record_idinteger
external_idstring
statestring: current, withdrawn, revoked
revoked_by_seqinteger, or nullseq of the status entry that revokes it, if revoked.
revisioninteger
current_seqintegerAI Platform keys only.
current_revisionintegerAI Platform keys only.
current_record_hashstringAI Platform keys only.
authority_record_effective_statusstringAI Platform keys only.
historyarray of HistoryItem

AuthorityRecordView

Convenience view of one authority record, for AI Platform keys. The signed status entries in the feed are the authoritative history.

FieldTypeRequiredNotes
idintegeryes
effective_statusstring: active, suspended, ended, revokedyesThe stricter of the GovTech Provider's status and the record's own.
effective_status_sourcestring: provider, authority_record, both, noneyesWhich level limits the record; none when it is active.
own_statusstring: active, suspended, ended, revokedyes
provider_statusstring: active, suspended, revokedyesThe GovTech Provider's standing; a GovTech Provider that is not yet approved counts as suspended.
enrolled_atstring (date-time)yes
ended_atstring (date-time), or nullyes
providerobjectyes
provider.idintegeryes
provider.namestringyes
governmentobjectyes
government.official_id_typestring: census_pid6, nces_leaid, otheryes
government.official_idstringyes
government.namestringyes
government.levelstring, or nullyes
government.statestring, or nullyes
government.countystring, or nullyes
government.citystring, or nullyes
government.unit_type_textstring, or nullyes
verificationobjectyes
verification.identityobjectyesAigistry's automatic comparison of the government with the Census or NCES list.
verification.identity.on_reference_listbooleanyes
verification.identity.reference_sourcestring, or nullyes
verification.identity.listed_as_flaggedbooleanyes
verification.identity.enrollment_flaggedbooleanyes
verification.identity.enrollment_flag_reasonstring, or nullyes
verification.identity.flag_review_outcomestring: accepted, concern, or nullyes
verification.attestationobjectyesThe GovTech Provider's own statement that it is authorized by this government. It is recorded, not checked.
verification.attestation.attestedbooleanyes
verification.attestation.attested_atstring (date-time), or nullyes
verification.attestation.attestation_versionstring, or nullyes
verification.attestation.provider_agreement_versionstring, or nullyes
verification.attestation.provider_agreement_onstring (date), or nullyes
verification.attestation.checked_by_aigistrybooleanyes
verification.samplingobjectyesAigistry's independent sampling: the latest result of each method, and how much of the GovTech Provider's active records has been checked.
verification.sampling.statestring: not_checked, check_passed, check_failedyes
verification.sampling.last_verified_atstring (date-time), or nullyes
verification.sampling.methodsobjectyes
verification.sampling.methods.census_matchobject, or nullyes
verification.sampling.methods.callbackobject, or nullyes
verification.sampling.methods.website_matchobject, or nullyes
verification.sampling.provider_active_recordsintegeryes
verification.sampling.provider_active_records_checkedintegeryes

Authority

FieldTypeRequiredNotes
namestring, or null
typestring, or null
statestring, or null
countystring, or null
citystring, or null

Entry

One signed entry. The signed text is built from the fields listed in VERIFICATION.md (the 14 base fields, attachments, then the chain and status fields that are present). The authority object is the feed's grouping of authority_name, authority_type, state, county and city. Fields download_url, removed_at and the signature fields are not part of the signed text.

FieldTypeRequiredNotes
seqintegeryes
typestring: record, removal, statusyes
external_idstring, or null
authorityAuthority
agencystring, or null
titlestring, or null
bodystring, or null
source_urlstring, or null
published_atstring, or null
received_atstring
attachmentsarray of Attachment, or nullnull when the entry has no attachments. The signed text then leaves the attachments key out.
authority_record_idinteger, or null
provider_idinteger, or null
provider_namestring, or null
government_official_id_typestring, or null
government_official_idstring, or null
revisioninteger, or null
supersedes_seqinteger, or null
prev_seqinteger, or null
prev_hashstring, or null
status_scopestring: provider, authority_record, publication, or null
status_eventstring: suspended, reinstated, ended, revoked, revocation_lifted, or null
reason_classstring, or null
reason_codestring, or null
revoked_from_seqinteger, or null
revoked_through_seqinteger, or null
references_seqinteger, or null
removed_atstring, or null
record_hashstringyes
pattern ^[a-f0-9]{64}$
signaturestringyes
signature_algorithmstring: Ed25519yes
public_key_idstringyes

FeedHead

Signed statement of the newest entry. Signed text: {"type":"feed_head","seq":N,"record_hash":"...","signed_at":"..."}; head_hash is its SHA-256; signature is Ed25519 over the head_hash string. Null only on an empty feed.

FieldTypeRequiredNotes
seqinteger
record_hashstring
signed_atstring
head_hashstring
signaturestring
signature_algorithmstring
public_key_idstring

FeedPage

FieldTypeRequiredNotes
entriesarray of Entryyes
next_afterintegeryesThe seq of the last entry returned, or the request cursor if none was returned.
has_morebooleanyes
filterobject, or nullyesThe filter that was applied: {authority_record_id}, {provider_id} or {official_id_type, official_id}; null when the read was not filtered. Not signed: a verifier must be told by its caller that a read was filtered.
feed_headFeedHeadyesSigned statement of the newest entry. Signed text: {"type":"feed_head","seq":N,"record_hash":"...","signed_at":"..."}; head_hash is its SHA-256; signature is Ed25519 over the head_hash string. Null only on an empty feed.

PublicKeys

FieldTypeRequiredNotes
registrystring
issuerstring
usagestring
keysarray of objectyes
keys[].key_idstring
keys[].statusstring: active, retired, revoked
keys[].algorithmstring: Ed25519
keys[].encodingstring: hex
keys[].public_keystring
keys[].revoked_atstringRevoked keys only. UTC time the notice was made.
keys[].compromised_sincestringRevoked keys only. Earliest moment the key may have been in other hands.
keys[].last_trusted_seqintegerRevoked keys only. Entries signed by this key are trusted only up to this seq (0 = none).
keys[].last_trusted_hashstringRevoked keys only. record_hash of that entry (null when last_trusted_seq is 0).
keys[].reasonstring: key_compromise, suspected_compromise
keys[].notice_signed_bystringRevoked keys only. key_id of the key that signed the notice.
keys[].notice_signaturestringRevoked keys only. Ed25519 signature (hex) over the SHA-256 of the notice text; see VERIFICATION.md.
keys[].published_atstring (date-time)When the key was first listed.
keys[].retired_atstring (date-time)Retired keys only.

EnrollItem

FieldTypeRequiredNotes
official_id_typestring: census_pid6, nces_leaid, otheryescensus_pid6 and nces_leaid must be on the loaded Census or NCES list. other adds an unlisted government with an identifier you supply.
official_idstringyesText, not a number: keep leading zeros.
pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,39}$
namestringyes
min length 1; max length 200
statestringyesTwo-letter US state or territory code.
levelstring: state, county, city, township, school_district, special_district, otherOptional. A level that differs from the list raises a flag.
countystring
max length 120
citystring
max length 120

EnrollRequest

Send either records (a batch of 1 to 500) or the fields of one government directly in this object.

FieldTypeRequiredNotes
attestationtrueyesMust be true: you confirm you are authorized to publish for each government listed.
attestation_versionstringyesWhich version of the attestation wording you are confirming; stored with the enrollment.
pattern ^[A-Za-z0-9][A-Za-z0-9 ._-]{0,39}$
recordsarray of EnrollItem
min items 1; max items 500
official_id_typestring: census_pid6, nces_leaid, othercensus_pid6 and nces_leaid must be on the loaded Census or NCES list. other adds an unlisted government with an identifier you supply.
official_idstringText, not a number: keep leading zeros.
pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,39}$
namestring
min length 1; max length 200
statestringTwo-letter US state or territory code.
levelstring: state, county, city, township, school_district, special_district, otherOptional. A level that differs from the list raises a flag.
countystring
max length 120
citystring
max length 120

EnrollResult

FieldTypeRequiredNotes
indexintegeryesPosition in the batch, from 0.
resultstring: created, already_enrolled, re_enrolled, rejectedyesre_enrolled: an ended enrollment was made active again (a signed reinstated entry is written).
reasonstringRejected items only: why.
authority_record_idinteger, or nullyes
statusstring: active, or nullyes
flaggedboolean, or nullyes
flag_reasonstring: state_mismatch, level_mismatch, name_mismatch, unlisted, non_standard_agency, or nullyes

EnrollResponse

FieldTypeRequiredNotes
resultsarray of EnrollResultyes
summaryobjectyes
summary.createdintegeryes
summary.already_enrolledintegeryes
summary.re_enrolledintegeryes
summary.rejectedintegeryes

EnrollmentRecord

A GovTech Provider's own view of one enrollment (an authority record).

FieldTypeRequiredNotes
idintegeryes
statusstring: active, suspended, ended, revokedyes
flaggedbooleanyes
flag_reasonstring, or nullyes
enrolled_atstring (date-time)yes
ended_atstring (date-time), or nullyes
attested_atstring (date-time), or nullyes
attestation_versionstring, or nullyes
verification_statestring: not_checked, check_passed, check_failedyes
governmentobjectyes
government.official_id_typestringyes
government.official_idstringyes
government.namestringyes
government.levelstring, or nullyes
government.statestring, or nullyes
government.countystring, or nullyes
government.unit_type_textstring, or nullyes
government.listed_as_flaggedbooleanyes
government.sourcestring, or nullyes

EnrollmentList

FieldTypeRequiredNotes
recordsarray of EnrollmentRecordyes
next_afterintegeryesThe id of the last record returned, or the request cursor if none.
has_morebooleanyes

WhoAmI

FieldTypeRequiredNotes
kindstring: provider, platformyes
namestringyes
idintegeryesThe GovTech Provider's or AI Platform's id.
key_labelstringyesThe label given to this key.

HealthDown

FieldTypeRequiredNotes
status"down"yes
problemsarray of string: database, signeryes