diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 5c9937dec..eb2928b37 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -230,6 +230,7 @@ * [List ACS Systems](api/acs/systems/list.md) * [List Compatible Credential Manager ACS Systems](api/acs/systems/list_compatible_credential_manager_acs_systems.md) * [Access Grants](api/access_grants/README.md) + * [Add Requested Access Methods to Access Grant](api/access_grants/request_access_methods.md) * [Create an Access Grant](api/access_grants/create.md) * [Delete an Access Grant](api/access_grants/delete.md) * [Get an Access Grant](api/access_grants/get.md) diff --git a/docs/api/_blueprint.json b/docs/api/_blueprint.json index c5f6ee7dd..20d8367f2 100644 --- a/docs/api/_blueprint.json +++ b/docs/api/_blueprint.json @@ -6072,6 +6072,134 @@ } ] }, + { + "title": "Add Requested Access Methods to Access Grant", + "name": "request_access_methods", + "path": "/access_grants/request_access_methods", + "parentPath": "/access_grants", + "description": "Adds additional requested access methods to an existing Access Grant.", + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": true, + "draftMessage": "Early access.", + "response": { + "responseType": "resource", + "responseKey": "access_grant", + "resourceType": "access_grant", + "description": "OK", + "actionAttemptType": null + }, + "request": { + "methods": [ + "POST" + ], + "semanticMethod": "POST", + "preferredMethod": "POST", + "parameters": [ + { + "name": "access_grant_id", + "description": "ID of the Access Grant to add access methods to.", + "isRequired": true, + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": false, + "draftMessage": "", + "hasDefault": false, + "format": "id", + "jsonType": "string" + }, + { + "name": "requested_access_methods", + "description": "Array of requested access methods to add to the access grant.", + "isRequired": true, + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": false, + "draftMessage": "", + "hasDefault": false, + "format": "list", + "jsonType": "array", + "itemFormat": "object", + "itemParameters": [ + { + "name": "code", + "description": "Specific PIN code to use for this access method. Only applicable when mode is 'code'.", + "isRequired": false, + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": false, + "draftMessage": "", + "hasDefault": false, + "format": "string", + "jsonType": "string" + }, + { + "name": "mode", + "description": "Access method mode. Supported values: `code`, `card`, `mobile_key`.", + "isRequired": false, + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": false, + "draftMessage": "", + "hasDefault": false, + "format": "enum", + "jsonType": "string", + "values": [ + { + "name": "code", + "description": "", + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": false, + "draftMessage": "" + }, + { + "name": "card", + "description": "", + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": false, + "draftMessage": "" + }, + { + "name": "mobile_key", + "description": "", + "isDeprecated": false, + "deprecationMessage": "", + "isUndocumented": false, + "undocumentedMessage": "", + "isDraft": false, + "draftMessage": "" + } + ] + } + ] + } + ] + }, + "hasPagination": false, + "authMethods": [ + "personal_access_token", + "api_key", + "client_session_token" + ], + "workspaceScope": "required", + "codeSamples": [] + }, { "title": "Update an Access Grant", "name": "update", diff --git a/docs/api/_report.md b/docs/api/_report.md index 6385fa0da..418f68e50 100644 --- a/docs/api/_report.md +++ b/docs/api/_report.md @@ -457,6 +457,7 @@ These items have been marked as draft. - `/access_grants/get`: Early access. - `/access_grants/get_related`: Early access. - `/access_grants/list`: Early access. +- `/access_grants/request_access_methods`: Early access. - `/access_grants/update`: Early access. - `/access_grants/unmanaged/get`: Early access. - `/access_grants/unmanaged/list`: Early access. @@ -606,6 +607,7 @@ These items are deprecated. ### Endpoints without code samples - `/access_grants/get_related` +- `/access_grants/request_access_methods` - `/access_grants/unmanaged/get` - `/access_grants/unmanaged/list` - `/access_methods/encode` diff --git a/docs/api/access_grants/README.md b/docs/api/access_grants/README.md index 937ca07cb..4eb46f749 100644 --- a/docs/api/access_grants/README.md +++ b/docs/api/access_grants/README.md @@ -556,6 +556,11 @@ Gets all related resources for one or more Access Grants. Gets an Access Grant. +[**`/access_grants/request_access_methods`**](./request_access_methods.md) + +Adds additional requested access methods to an existing Access Grant. + + [**`/access_grants/update`**](./update.md) Updates an existing Access Grant's time window. diff --git a/docs/api/access_grants/request_access_methods.md b/docs/api/access_grants/request_access_methods.md new file mode 100644 index 000000000..28ea63934 --- /dev/null +++ b/docs/api/access_grants/request_access_methods.md @@ -0,0 +1,118 @@ +# Add Requested Access Methods to Access Grant +{% hint style="info" %} +**Early Access Preview.** The Access Grants API is currently in Alpha. We're actively developing it and seeking early feedback at [support@seam.co](mailto:support@seam.co). Expect breaking changes as we refine the design. +{% endhint %} + +- [Request Parameters](#request-parameters) +- [Response](#response) + +Adds additional requested access methods to an existing Access Grant. + + +
+ +Authentication Methods + +- API key +- Client session token +- Personal access token +
Must also include the `seam-workspace` header in the request. + +To learn more, see [Authentication](https://docs.seam.co/latest/api/authentication). +
+ +## Request Parameters + +**`access_grant_id`** *String* (Required) + +ID of the Access Grant to add access methods to. + +--- + +**`requested_access_methods`** *Array* *of Objects* (Required) + +Array of requested access methods to add to the access grant. + +
+ +code String + +Specific PIN code to use for this access method. Only applicable when mode is 'code'. + +
+ +--- + + + +
+ +mode Enum + +Access method mode. Supported values: `code`, `card`, `mobile_key`. + +Enum values: + +- code +- card +- mobile_key + +
+ +--- + + + +## Response + +[access\_grant](.) + + +{% tabs %} +{% tab title="JSON" %} + + + +```json +{ + "access_grant_id": "ef83cca9-5fdf-4ac2-93f3-c21c5a8be54b", + "access_method_ids": [ + "a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d", + "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f", + "c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f" + ], + "created_at": "2025-06-16T16:54:17.946606Z", + "display_name": "My Access Grant", + "ends_at": "2025-06-18T16:54:17.946606Z", + "instant_key_url": "https://ik.seam.co/ABCXYZ", + "requested_access_methods": [ + { + "display_name": "PIN Code Credential", + "mode": "code", + "created_at": "2025-06-16T16:54:17.946606Z", + "created_access_method_ids": ["a1b2c3d4-e5f6-4a3b-2c1d-0e9f8a7b6c5d"] + }, + { + "display_name": "Card Credential", + "mode": "card", + "created_at": "2025-06-16T16:54:19.946606Z", + "created_access_method_ids": ["5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"] + }, + { + "display_name": "Mobile Key Credential", + "mode": "mobile_key", + "created_at": "2025-06-16T16:54:21.946606Z", + "created_access_method_ids": ["c7d8e9f0-1a2b-3c4d-5e6f-7a8b9c0d1e2f"] + } + ], + "space_ids": [ + "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "7f8e9d0a-1b2c-3d4e-5f6a-7b8c9d0e1f2a" + ], + "starts_at": "2025-06-16T16:54:17.946606Z", + "user_identity_id": "e3d736c1-540d-4d10-83e5-9a4e135453b4", + "workspace_id": "750fc0bc-4450-4356-8d9f-18c6a3a6b2c7" +} +``` +{% endtab %} +{% endtabs %} diff --git a/package-lock.json b/package-lock.json index 2441a4eaf..725a9561b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@prettier/plugin-ruby": "^4.0.4", "@seamapi/blueprint": "^0.51.3", "@seamapi/smith": "^0.5.2", - "@seamapi/types": "1.593.0", + "@seamapi/types": "1.594.0", "@types/command-exists": "^1.2.3", "change-case": "^5.4.4", "command-exists": "^1.2.9", @@ -983,9 +983,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.593.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.593.0.tgz", - "integrity": "sha512-vQE+dNC6sly/QWQQgI3A/hIaasrakKcYBBthOGXHTJFY9J+3a74FMaJp07JCm/1hSPUuhbFscqdPSb0VX4Onxw==", + "version": "1.594.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.594.0.tgz", + "integrity": "sha512-QVwjgp6STHeovvu7CXQywKOGaU1JHovxZos4vAhtx25fZsF+EOK682dFwe7TNKSRccRlFNgkNCG9OgMt0yIxIQ==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 6e20fd22b..c15fbbcd8 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@prettier/plugin-ruby": "^4.0.4", "@seamapi/blueprint": "^0.51.3", "@seamapi/smith": "^0.5.2", - "@seamapi/types": "1.593.0", + "@seamapi/types": "1.594.0", "@types/command-exists": "^1.2.3", "change-case": "^5.4.4", "command-exists": "^1.2.9",