Certifyos · Schema
RosterAttemptsResponse
Attempt history of a roster job, oldest attempt first.
CompanyHealthcareProvider DataCredentialingLicensingPayer EnrollmentPrimary Source VerificationProvider Network ManagementRoster ManagementCompliance MonitoringHealthcare APIWebhook
Properties
| Name | Type | Description |
|---|---|---|
| rosterId | string | Identifier of the roster job the history belongs to. |
| currentAttemptNumber | integernull | Attempt the job is currently on. Null when the job predates the attempt ledger, meaning no history was recorded for it. |
| attempts | array | Finished attempts held in the ledger, oldest first. |
| olderAttemptsAvailable | boolean | True when attempts exist beyond the ones listed here, because the ledger evicted them. |
| attemptsTruncated | integer | Number of attempts evicted from the ledger. Zero when none were. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/certifyos/main/json-schema/certifyos-roster-attempts-response-schema.json",
"title": "RosterAttemptsResponse",
"description": "Attempt history of a roster job, oldest attempt first.",
"x-generated": "2026-10-20",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/certifyos-roster-api-openapi.yml#/components/schemas/RosterAttemptsResponse",
"type": "object",
"properties": {
"rosterId": {
"type": "string",
"description": "Identifier of the roster job the history belongs to."
},
"currentAttemptNumber": {
"type": [
"integer",
"null"
],
"format": "int32",
"description": "Attempt the job is currently on. Null when the job predates the attempt ledger, meaning no history was recorded for it."
},
"attempts": {
"type": "array",
"items": {
"$ref": "#/$defs/RosterAttemptEntry"
},
"description": "Finished attempts held in the ledger, oldest first."
},
"olderAttemptsAvailable": {
"type": "boolean",
"description": "True when attempts exist beyond the ones listed here, because the ledger evicted them."
},
"attemptsTruncated": {
"type": "integer",
"format": "int32",
"description": "Number of attempts evicted from the ledger. Zero when none were."
}
},
"$defs": {
"RosterAttemptEntry": {
"type": "object",
"description": "One finished attempt of a roster job.",
"properties": {
"attemptNumber": {
"type": "integer",
"format": "int32",
"description": "1-based ordinal of the attempt."
},
"filename": {
"type": [
"string",
"null"
],
"description": "Name of the file uploaded for the attempt."
},
"status": {
"type": [
"string",
"null"
],
"description": "Roster status the attempt finished in."
},
"totalRecords": {
"type": "integer",
"format": "int32",
"description": "Rows the attempt contained."
},
"validRecords": {
"type": "integer",
"format": "int32",
"description": "Rows that validated cleanly."
},
"invalidRecords": {
"type": "integer",
"format": "int32",
"description": "Rows that failed validation."
},
"attemptEndedAt": {
"type": [
"string",
"null"
],
"description": "ISO-8601 instant the attempt finished at."
},
"captured": {
"type": "boolean",
"description": "Whether the attempt's rows were captured to long-term history."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/certifyos-roster-attempts-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.