diff --git a/src/lib/blueprint.test.ts b/src/lib/blueprint.test.ts index 2ab64520..e09aa7f5 100644 --- a/src/lib/blueprint.test.ts +++ b/src/lib/blueprint.test.ts @@ -6,9 +6,12 @@ import { getSemanticMethod, getWorkspaceScope, type Method, - type OpenapiAuthMethod, } from 'lib/blueprint.js' -import type { OpenapiOperation, OpenapiSchema } from 'lib/openapi/types.js' +import type { + OpenapiAuthMethod, + OpenapiOperation, + OpenapiSchema, +} from 'lib/openapi/types.js' test('createProperties: assigns appropriate default values', (t) => { const minimalProperties = { diff --git a/src/lib/blueprint.ts b/src/lib/blueprint.ts index 851c02f3..027186bf 100644 --- a/src/lib/blueprint.ts +++ b/src/lib/blueprint.ts @@ -12,7 +12,6 @@ import type { import { findCommonOpenapiSchemaProperties } from './openapi/find-common-openapi-schema-properties.js' import { flattenOpenapiSchema } from './openapi/flatten-openapi-schema.js' import { - type AuthMethodSchema, EventResourceSchema, OpenapiOperationSchema, PropertySchema, @@ -20,16 +19,25 @@ import { } from './openapi/schemas.js' import type { Openapi, + OpenapiAuthMethod, OpenapiOperation, OpenapiPathItem, OpenapiPaths, OpenapiSchema, } from './openapi/types.js' +import { + mapOpenapiToSeamAuthMethod, + type SeamAuthMethod, + type SeamWorkspaceScope, +} from './seam.js' + +const paginationResponseKey = 'pagination' export interface Blueprint { title: string routes: Route[] resources: Record + pagination: Pagination | null events: EventResource[] actionAttempts: ActionAttempt[] } @@ -58,6 +66,12 @@ export interface Resource { draftMessage: string } +export interface Pagination { + properties: Property[] + description: string + responseKey: string +} + interface EventResource extends Resource { resourceType: 'event' eventType: string @@ -89,20 +103,12 @@ export interface Endpoint { draftMessage: string request: Request response: Response + hasPagination: boolean codeSamples: CodeSample[] authMethods: SeamAuthMethod[] workspaceScope: SeamWorkspaceScope } -export type SeamAuthMethod = - | 'api_key' - | 'personal_access_token' - | 'console_session_token' - | 'client_session_token' - | 'publishable_key' - -export type SeamWorkspaceScope = 'none' | 'optional' | 'required' - interface BaseParameter { name: string description: string @@ -315,7 +321,15 @@ export const createBlueprint = async ( } const routes = await createRoutes(openapi.paths, context) - const resources = createResources(openapi.components.schemas, routes) + + const pagination = openapi.components.schemas[paginationResponseKey] + const openapiSchemas = Object.fromEntries( + Object.entries(openapi.components.schemas).filter( + ([k]) => k !== paginationResponseKey, + ), + ) + + const resources = createResources(openapiSchemas, routes) const actionAttempts = createActionAttempts( openapi.components.schemas, routes, @@ -325,7 +339,8 @@ export const createBlueprint = async ( title: openapi.info.title, routes, resources, - events: createEvents(openapi.components.schemas, resources, routes), + pagination: createPagination(pagination), + events: createEvents(openapiSchemas, resources, routes), actionAttempts, } } @@ -560,7 +575,11 @@ const createEndpointFromOperation = async ( const draftMessage = parsedOperation['x-draft'] const request = createRequest(methods, operation, path) - const response = createResponse(operation, path, context) + const { hasPagination, ...response } = createResponse( + operation, + path, + context, + ) const operationAuthMethods = parsedOperation.security.map( (securitySchema) => { @@ -571,6 +590,7 @@ const createEndpointFromOperation = async ( const endpointAuthMethods = operationAuthMethods .map(mapOpenapiToSeamAuthMethod) .filter((authMethod): authMethod is SeamAuthMethod => authMethod != null) + const workspaceScope = getWorkspaceScope(operationAuthMethods) const endpoint: Omit = { @@ -586,6 +606,7 @@ const createEndpointFromOperation = async ( draftMessage, response, request, + hasPagination, authMethods: endpointAuthMethods, workspaceScope, } @@ -606,8 +627,6 @@ const createEndpointFromOperation = async ( } } -export type OpenapiAuthMethod = z.infer - export const getWorkspaceScope = ( authMethods: OpenapiAuthMethod[], ): SeamWorkspaceScope => { @@ -641,24 +660,6 @@ export const getWorkspaceScope = ( return 'none' } -type KnownOpenapiAuthMethod = Exclude - -const mapOpenapiToSeamAuthMethod = ( - method: string, -): SeamAuthMethod | undefined => { - const AUTH_METHOD_MAPPING: Record = { - api_key: 'api_key', - pat_with_workspace: 'personal_access_token', - pat_without_workspace: 'personal_access_token', - console_session_token_with_workspace: 'console_session_token', - console_session_token_without_workspace: 'console_session_token', - client_session: 'client_session_token', - publishable_key: 'publishable_key', - } as const - - return AUTH_METHOD_MAPPING[method as KnownOpenapiAuthMethod] -} - export const createRequest = ( methods: Method[], operation: OpenapiOperation, @@ -823,6 +824,19 @@ const createParameter = ( } } +const createPagination = ( + schema: Openapi['components']['schemas'][number] | undefined, +): Pagination | null => { + if (schema == null) return null + return { + responseKey: paginationResponseKey, + description: schema.description ?? '', + properties: createProperties(schema.properties ?? {}, [ + paginationResponseKey, + ]), + } +} + export const createResources = ( schemas: Openapi['components']['schemas'], routes: Route[], @@ -905,7 +919,7 @@ const createResponse = ( operation: OpenapiOperation, path: string, context: Context, -): Response => { +): Response & { hasPagination: boolean } => { if (!('responses' in operation) || operation.responses == null) { throw new Error( `Missing responses in operation for ${operation.operationId}`, @@ -920,7 +934,11 @@ const createResponse = ( const okResponse = responses['200'] if (typeof okResponse !== 'object' || okResponse == null) { - return { responseType: 'void', description: 'Unknown' } + return { + responseType: 'void', + description: 'Unknown', + hasPagination: false, + } } const description = okResponse.description ?? '' @@ -935,6 +953,7 @@ const createResponse = ( return { responseType: 'void', description, + hasPagination: false, } } @@ -947,6 +966,7 @@ const createResponse = ( return { responseType: 'void', description, + hasPagination: false, } } @@ -956,6 +976,7 @@ const createResponse = ( return { responseType: 'void', description, + hasPagination: false, } } @@ -964,6 +985,7 @@ const createResponse = ( return { responseType: 'void', description, + hasPagination: false, } } @@ -999,6 +1021,12 @@ const createResponse = ( responseKey: refKey, resourceType: refString?.split('/').at(-1) ?? 'unknown', description, + hasPagination: + (paginationResponseKey in properties && + properties[paginationResponseKey]?.$ref?.endsWith( + `/${paginationResponseKey}`, + )) ?? + false, ...(actionAttemptType != null && { actionAttemptType }), } } @@ -1007,6 +1035,7 @@ const createResponse = ( return { responseType: 'void', description: 'Unknown', + hasPagination: false, } } diff --git a/src/lib/index.ts b/src/lib/index.ts index 6d50dd9b..2aeddebc 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -5,14 +5,13 @@ export { createBlueprint, type Endpoint, type Namespace, + type Pagination, type Parameter, type Property, type Request, type Resource, type Response, type Route, - type SeamAuthMethod, - type SeamWorkspaceScope, type TypesModule, type TypesModuleInput, TypesModuleSchema, @@ -24,3 +23,4 @@ export { type CodeSampleSdk, type CodeSampleSyntax, } from './code-sample/index.js' +export { type SeamAuthMethod, type SeamWorkspaceScope } from './seam.js' diff --git a/src/lib/openapi/types.ts b/src/lib/openapi/types.ts index f26a1570..89c3169d 100644 --- a/src/lib/openapi/types.ts +++ b/src/lib/openapi/types.ts @@ -1,3 +1,7 @@ +import type { z } from 'zod' + +import type { AuthMethodSchema } from './schemas.js' + export interface Openapi { openapi: string info: OpenapiInfo @@ -98,3 +102,7 @@ export interface OpenapiComponents { } export type OpenapiSecurity = Record + +export type KnownOpenapiAuthMethod = Exclude + +export type OpenapiAuthMethod = z.infer diff --git a/src/lib/seam.ts b/src/lib/seam.ts new file mode 100644 index 00000000..f3e406d6 --- /dev/null +++ b/src/lib/seam.ts @@ -0,0 +1,26 @@ +import type { KnownOpenapiAuthMethod } from './openapi/types.js' + +export type SeamWorkspaceScope = 'none' | 'optional' | 'required' + +export type SeamAuthMethod = + | 'api_key' + | 'personal_access_token' + | 'console_session_token' + | 'client_session_token' + | 'publishable_key' + +export const mapOpenapiToSeamAuthMethod = ( + method: string, +): SeamAuthMethod | undefined => { + const AUTH_METHOD_MAPPING: Record = { + api_key: 'api_key', + pat_with_workspace: 'personal_access_token', + pat_without_workspace: 'personal_access_token', + console_session_token_with_workspace: 'console_session_token', + console_session_token_without_workspace: 'console_session_token', + client_session: 'client_session_token', + publishable_key: 'publishable_key', + } as const + + return AUTH_METHOD_MAPPING[method as KnownOpenapiAuthMethod] +} diff --git a/test/fixtures/types/model-types.ts b/test/fixtures/types/model-types.ts index 40b064e2..31322d2a 100644 --- a/test/fixtures/types/model-types.ts +++ b/test/fixtures/types/model-types.ts @@ -1,5 +1,7 @@ import type { z } from 'zod' -import type { foo } from './schemas.js' +import type { foo, pagination } from './schemas.js' export type Foo = z.infer + +export type Pagination = z.infer diff --git a/test/fixtures/types/openapi.ts b/test/fixtures/types/openapi.ts index 6fca82e4..05ae2554 100644 --- a/test/fixtures/types/openapi.ts +++ b/test/fixtures/types/openapi.ts @@ -5,6 +5,16 @@ export default { tags: [{ description: 'foos', name: '/foos' }], components: { schemas: { + pagination: { + type: 'object', + description: 'A pagination resource.', + properties: { + has_next_page: { + description: 'If there is a next page', + type: 'boolean', + }, + }, + }, foo: { type: 'object', description: 'A foo resource.', @@ -366,6 +376,9 @@ export default { items: { $ref: '#/components/schemas/foo' }, type: 'array', }, + pagination: { + $ref: '#/components/schemas/pagination', + }, }, required: ['foos', 'ok'], type: 'object', diff --git a/test/fixtures/types/route-specs.ts b/test/fixtures/types/route-specs.ts index 32aaef16..a18ec0dd 100644 --- a/test/fixtures/types/route-specs.ts +++ b/test/fixtures/types/route-specs.ts @@ -15,6 +15,7 @@ export const routes = { methods: ['GET', 'POST'], jsonResponse: z.object({ foos: z.array(schemas.foo), + pagination: schemas.pagination, }), '/transport/air/planes/list': { auth: 'none', diff --git a/test/fixtures/types/route-types.ts b/test/fixtures/types/route-types.ts index 7e72ae2f..bcfd64b9 100644 --- a/test/fixtures/types/route-types.ts +++ b/test/fixtures/types/route-types.ts @@ -39,6 +39,9 @@ export interface Routes { object_prop?: Record array_prop?: string[] } + pagination: { + has_next_page: boolean + } } } '/transport/air/planes/list': { diff --git a/test/fixtures/types/schemas.ts b/test/fixtures/types/schemas.ts index 3cc67ece..33584439 100644 --- a/test/fixtures/types/schemas.ts +++ b/test/fixtures/types/schemas.ts @@ -16,3 +16,7 @@ export const plane = z.object({ plane_id: z.string().uuid(), name: z.string(), }) + +export const pagination = z.object({ + has_next_page: z.boolean(), +}) diff --git a/test/snapshots/blueprint.test.ts.md b/test/snapshots/blueprint.test.ts.md index 778fc62d..90b3c16b 100644 --- a/test/snapshots/blueprint.test.ts.md +++ b/test/snapshots/blueprint.test.ts.md @@ -182,6 +182,24 @@ Generated by [AVA](https://avajs.dev). undocumentedMessage: '', }, ], + pagination: { + description: 'A pagination resource.', + properties: [ + { + deprecationMessage: '', + description: 'If there is a next page', + draftMessage: '', + format: 'boolean', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'boolean', + name: 'has_next_page', + undocumentedMessage: '', + }, + ], + responseKey: 'pagination', + }, resources: { deprecated_resource: { deprecationMessage: 'This resource is deprecated', @@ -577,6 +595,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -607,6 +626,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -742,6 +762,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: true, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -868,6 +889,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -990,6 +1012,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: true, isDraft: false, isUndocumented: true, @@ -1110,6 +1133,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: 'true', + hasPagination: false, isDeprecated: false, isDraft: true, isUndocumented: false, @@ -1150,6 +1174,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -1364,6 +1389,24 @@ Generated by [AVA](https://avajs.dev). undocumentedMessage: '', }, ], + pagination: { + description: 'A pagination resource.', + properties: [ + { + deprecationMessage: '', + description: 'If there is a next page', + draftMessage: '', + format: 'boolean', + isDeprecated: false, + isDraft: false, + isUndocumented: false, + jsonType: 'boolean', + name: 'has_next_page', + undocumentedMessage: '', + }, + ], + responseKey: 'pagination', + }, resources: { deprecated_resource: { deprecationMessage: 'This resource is deprecated', @@ -1775,6 +1818,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -1805,6 +1849,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -1956,6 +2001,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: true, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -2098,6 +2144,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -2236,6 +2283,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: true, isDraft: false, isUndocumented: true, @@ -2372,6 +2420,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: 'true', + hasPagination: false, isDeprecated: false, isDraft: true, isUndocumented: false, @@ -2412,6 +2461,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, diff --git a/test/snapshots/blueprint.test.ts.snap b/test/snapshots/blueprint.test.ts.snap index 2ba87dcb..7299f2c7 100644 Binary files a/test/snapshots/blueprint.test.ts.snap and b/test/snapshots/blueprint.test.ts.snap differ diff --git a/test/snapshots/seam-blueprint.test.ts.md b/test/snapshots/seam-blueprint.test.ts.md index 96640bb1..0bf158e8 100644 --- a/test/snapshots/seam-blueprint.test.ts.md +++ b/test/snapshots/seam-blueprint.test.ts.md @@ -10894,6 +10894,7 @@ Generated by [AVA](https://avajs.dev). undocumentedMessage: '', }, ], + pagination: null, resources: { access_code: { deprecationMessage: '', @@ -18330,6 +18331,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -18628,6 +18630,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -18935,6 +18938,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19006,6 +19010,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19052,6 +19057,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19125,6 +19131,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19198,6 +19205,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Retrieves a backup access code for an access code. See also [Managing Backup Access Codes](https://docs.seam.co/latest/capability-guides/smart-locks/access-codes/backup-access-codes).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19245,6 +19253,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19590,6 +19599,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19686,6 +19696,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19770,6 +19781,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19868,6 +19880,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19926,6 +19939,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -19999,6 +20013,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20059,6 +20074,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20167,6 +20183,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20225,6 +20242,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20271,6 +20289,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20330,6 +20349,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all accessible entrances for a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20376,6 +20396,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) in an [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20422,6 +20443,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20495,6 +20517,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified unmanaged [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -20541,6 +20564,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all unmanaged [access groups](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -20616,6 +20640,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: 'Use `/user_identities/enrollment_automations/list` instead.', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -20678,6 +20703,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: 'Use `/user_identities/enrollment_automations/launch` instead.', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -20792,6 +20818,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Assigns a specified [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) to a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -20850,6 +20877,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a new [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21264,6 +21292,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a new offline [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -21362,6 +21391,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Deletes a specified [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21406,6 +21436,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21453,6 +21484,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [credentials](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21564,6 +21596,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a [credential](https://docs.seam.co/latest/api/acs/credentials) grants access.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21610,6 +21643,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Unassigns a specified [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) from a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21668,6 +21702,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Updates the code and ends at date and time for a specified [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21755,6 +21790,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified unmanaged [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -21801,6 +21837,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all unmanaged [credentials](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -21889,6 +21926,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Encodes an existing [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) onto a plastic card placed on the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -21949,6 +21987,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [encoders](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22034,6 +22073,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Scans an encoded [acs_credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) from a plastic card placed on the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22097,6 +22137,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Simulates that the next attempt to encode a [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) will fail. You can only perform this action within a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22189,6 +22230,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Simulates that the next attempt to encode a [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) will succeed. You can only perform this action within a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22258,6 +22300,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Simulates that the next attempt to scan a [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) will fail. You can only perform this action within a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22350,6 +22393,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Simulates that the next attempt to scan a [credential](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) using the specified [encoder](https://docs.seam.co/latest/capability-guides/access-systems/working-with-card-encoders-and-scanners) will succeed. You can only perform this action within a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22448,6 +22492,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified [ACS entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22494,6 +22539,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22552,6 +22598,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [ACS entrances](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22612,6 +22659,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [credentials](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials) with access to a specified [entrance](https://docs.seam.co/latest/capability-guides/access-systems/retrieving-entrance-details).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22689,6 +22737,7 @@ Generated by [AVA](https://avajs.dev). ␊ Specify the desired access control system by including the corresponding \`acs_system_id\` in the request body.`, draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22740,6 +22789,7 @@ Generated by [AVA](https://avajs.dev). \`connected_account_id\` in the request body. If you omit the \`connected_account_id\` parameter, the␊ response includes all access control systems connected to your workspace.`, draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22790,6 +22840,7 @@ Generated by [AVA](https://avajs.dev). Specify the ACS system for which you want to retrieve all compatible credential manager ACS␊ systems by including the corresponding \`acs_system_id\` in the request body.`, draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22852,6 +22903,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -22910,6 +22962,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a new [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23075,6 +23128,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Deletes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) and invalidates the ACS user\'s [credentials](https://docs.seam.co/latest/capability-guides/access-systems/managing-credentials).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23119,6 +23173,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23166,6 +23221,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23304,6 +23360,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Lists the [entrances](https://docs.seam.co/latest/api/acs/entrances) to which a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) has access.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23350,6 +23407,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [access group](https://docs.seam.co/latest/capability-guides/access-systems/assigning-users-to-access-groups).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23407,6 +23465,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Revokes access to all [entrances](https://docs.seam.co/latest/api/acs/entrances) for a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23451,6 +23510,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '[Suspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#suspend-an-acs-user) a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). Suspending an ACS user revokes their access temporarily. To restore an ACS user\'s access, you can [unsuspend](https://docs.seam.co/latest/api/acs/users/unsuspend) them.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23495,6 +23555,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '[Unsuspends](https://docs.seam.co/latest/capability-guides/access-systems/user-management/suspending-and-unsuspending-users#unsuspend-an-acs-user) a specified suspended [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management). While [suspending an ACS user](https://docs.seam.co/latest/api/acs/users/suspend) revokes their access temporarily, unsuspending the ACS user restores their access.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23539,6 +23600,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Updates the properties of a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23706,6 +23768,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -23752,6 +23815,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -23867,6 +23931,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23913,6 +23978,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -23970,6 +24036,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24016,6 +24083,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24060,6 +24128,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24159,6 +24228,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24204,6 +24274,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24264,6 +24335,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24362,6 +24434,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24459,6 +24532,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24557,6 +24631,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24613,6 +24688,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24844,6 +24920,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24889,6 +24966,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -24936,6 +25014,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -25019,6 +25098,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -25077,6 +25157,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -25136,6 +25217,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -25195,6 +25277,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -25276,6 +25359,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: 'Deleting a device is no longer supported and will be removed.', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -25321,6 +25405,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -25381,6 +25466,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [devices](https://docs.seam.co/latest/core-concepts/devices).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -26298,6 +26384,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -26397,6 +26484,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -26520,6 +26608,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -26564,6 +26653,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -26608,6 +26698,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -26664,6 +26755,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -26723,6 +26815,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -27639,6 +27732,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -27709,6 +27803,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -27782,6 +27877,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -28774,6 +28870,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: 'Use `/devices/get` instead.', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -28834,6 +28931,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -29751,6 +29849,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -29812,6 +29911,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -29883,6 +29983,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -29929,6 +30030,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -29973,6 +30075,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -30900,6 +31003,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31025,6 +31129,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31095,6 +31200,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31142,6 +31248,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31201,6 +31308,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31349,6 +31457,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31405,6 +31514,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Deactivates a phone, which is useful, for example, if a user has lost their phone. For more information, see [App User Lost Phone Process](https://docs.seam.co/latest/capability-guides/mobile-access/managing-phones-for-a-user-identity#app-user-lost-phone-process).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31449,6 +31559,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a single phone entry matching the provided `device_id`.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31495,6 +31606,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all phones. To filter the list of returned phones by a specific owner user identity or credential, include the `owner_user_identity_id` or `acs_credential_id`, respectively, in the request body.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31565,6 +31677,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a new simulated phone in a [sandbox workspace](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces). For more information, see [Creating a Simulated Phone for a User Identity](https://docs.seam.co/latest/capability-guides/mobile-access/developing-in-a-sandbox-workspace#creating-a-simulated-phone-for-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -31814,6 +31927,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a new bridge client session.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -31883,6 +31997,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns the bridge client session associated with the session token used.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -31913,6 +32028,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Generate a new pairing code and return the updated bridge client session.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -31961,6 +32077,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Activates a specified [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -32022,6 +32139,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [cool mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -32108,6 +32226,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -32343,6 +32462,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Deletes a specified [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -32401,6 +32521,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: 'Use `/devices/get` instead.', description: 'Returns a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: true, @@ -32461,6 +32582,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -32548,6 +32670,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to [heat-cool ("auto") mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -32661,6 +32784,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [thermostats](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -33578,6 +33702,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) to ["off" mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -33638,6 +33763,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets a specified [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) as the ["fallback"](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets/setting-the-fallback-climate-preset) preset for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -33696,6 +33822,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets the [fan mode setting](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings#fan-mode-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -33847,6 +33974,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets the [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/configure-current-climate-settings) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -33971,6 +34099,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets a [temperature threshold](https://docs.seam.co/latest/capability-guides/thermostats/setting-and-monitoring-temperature-thresholds) for a specified thermostat. Seam emits a `thermostat.temperature_threshold_exceeded` event and adds a warning on a thermostat if it reports a temperature outside the threshold range.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34068,6 +34197,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Updates a specified [climate preset](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-climate-presets) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34316,6 +34446,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34441,6 +34572,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Deletes a [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34486,6 +34618,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34533,6 +34666,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [thermostat schedules](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules) for a specified [thermostat](https://docs.seam.co/latest/capability-guides/thermostats).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34593,6 +34727,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Updates a specified [thermostat schedule](https://docs.seam.co/latest/capability-guides/thermostats/creating-and-managing-thermostat-schedules).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34727,6 +34862,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Simulates having adjusted the [HVAC mode](https://docs.seam.co/latest/capability-guides/thermostats/understanding-thermostat-concepts/hvac-mode) for a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats). Only applicable for [sandbox devices](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](https://docs.seam.co/latest/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34848,6 +34984,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Simulates a [thermostat](https://docs.seam.co/latest/capability-guides/thermostats) reaching a specified temperature. Only applicable for [sandbox devices](https://docs.seam.co/latest/core-concepts/workspaces#sandbox-workspaces). See also [Testing Your Thermostat App with Simulate Endpoints](https://docs.seam.co/latest/capability-guides/thermostats/testing-your-thermostat-app-with-simulate-endpoints).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34929,6 +35066,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Adds a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -34987,6 +35125,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Creates a new [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35072,6 +35211,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Deletes a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity). To delete a user identity, you must first delete any [ACS credentials](https://docs.seam.co/latest/api/access-control-systems/credentials) and [enrollment automations](https://docs.seam.co/latest/api/user_identities/enrollment_automations/delete) associated with the user identity. You must also deactivate any associated phones.', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35116,6 +35256,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35175,6 +35316,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Grants a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) access to a specified [device](https://docs.seam.co/latest/core-concepts/devices/).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35234,6 +35376,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [user identities](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35280,6 +35423,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [devices](https://docs.seam.co/latest/core-concepts/devices) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35327,6 +35471,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [access control systems](https://docs.seam.co/latest/capability-guides/access-systems) associated with a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35373,6 +35518,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [ACS users](https://docs.seam.co/latest/capability-guides/access-systems/user-management) assigned to a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35419,6 +35565,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Removes a specified [ACS user](https://docs.seam.co/latest/capability-guides/access-systems/user-management) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35476,6 +35623,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Revokes access to a specified [device](https://docs.seam.co/latest/core-concepts/devices/) from a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35533,6 +35681,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35641,6 +35790,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Deletes a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system). You must delete all enrollment automations associated with a [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) before [deleting the user identity](https://docs.seam.co/latest/api/user_identities/delete).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35686,6 +35836,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a specified [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35732,6 +35883,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Sets up a new [enrollment automation](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity) with a specified [credential manager](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35831,6 +35983,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: 'Returns a list of all [enrollment automations](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/issuing-mobile-credentials-from-an-access-control-system) for a specified [user identity](https://docs.seam.co/latest/capability-guides/mobile-access-in-development/managing-mobile-app-user-accounts-with-user-identities#what-is-a-user-identity).', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35888,6 +36041,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35947,6 +36101,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -35991,6 +36146,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -36037,6 +36193,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -36070,6 +36227,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -36138,6 +36296,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -36285,6 +36444,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -36320,6 +36480,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, @@ -36353,6 +36514,7 @@ Generated by [AVA](https://avajs.dev). deprecationMessage: '', description: '', draftMessage: '', + hasPagination: false, isDeprecated: false, isDraft: false, isUndocumented: false, diff --git a/test/snapshots/seam-blueprint.test.ts.snap b/test/snapshots/seam-blueprint.test.ts.snap index 2d4f70be..e8b21d0f 100644 Binary files a/test/snapshots/seam-blueprint.test.ts.snap and b/test/snapshots/seam-blueprint.test.ts.snap differ