Class RawAuthClient
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionassumeToken(Map<String, Object> request) Re-mints the presentedst_*scoped token with one or moreidentity.<namespace>values changed — for a caller whose ROLE explicitly grants assuming those values (an invited hr-admin, a multi-org case-handler) and needs to change which value new writes place records under.assumeToken(Map<String, Object> request, RequestOptions requestOptions) Re-mints the presentedst_*scoped token with one or moreidentity.<namespace>values changed — for a caller whose ROLE explicitly grants assuming those values (an invited hr-admin, a multi-org case-handler) and needs to change which value new writes place records under.createAccessProfile(String contextId, CreateAccessProfileRequest request) Creates a new access profile under the given app context.createAccessProfile(String contextId, CreateAccessProfileRequest request, RequestOptions requestOptions) Creates a new access profile under the given app context.createAccessProfile(String contextId, AccessProfileRequest body) Creates a new access profile under the given app context.createAccessProfile(String contextId, AccessProfileRequest body, RequestOptions requestOptions) Creates a new access profile under the given app context.createAppContext(CreateAppContextRequest request) Creates a new app context.createAppContext(CreateAppContextRequest request, RequestOptions requestOptions) Creates a new app context.Creates a new app context.createAppContext(AppContextRequest body, RequestOptions requestOptions) Creates a new app context.createInvite(CreateInviteRequest request) Invite a new member to one of your app contexts by email, OR grant an existing member access to an additional app context by inviting their same email again.createInvite(CreateInviteRequest request, RequestOptions requestOptions) Invite a new member to one of your app contexts by email, OR grant an existing member access to an additional app context by inviting their same email again.createRole(String contextId, CreateRoleRequest request) Creates a new role under the given app context.createRole(String contextId, CreateRoleRequest request, RequestOptions requestOptions) Creates a new role under the given app context.createRole(String contextId, RoleRequest body) Creates a new role under the given app context.createRole(String contextId, RoleRequest body, RequestOptions requestOptions) Creates a new role under the given app context.createScopedKey(CreateScopedKeyRequest request) Creates a scoped API key (anssk_*secret) that inherits its permissions from an existing access profile in your account.createScopedKey(CreateScopedKeyRequest request, RequestOptions requestOptions) Creates a scoped API key (anssk_*secret) that inherits its permissions from an existing access profile in your account.deleteAccessProfile(String contextId, String principalId) Deletes an access profile.deleteAccessProfile(String contextId, String principalId, RequestOptions requestOptions) Deletes an access profile.deleteAccessProfile(String contextId, String principalId, DeleteAccessProfileRequest request) Deletes an access profile.deleteAccessProfile(String contextId, String principalId, DeleteAccessProfileRequest request, RequestOptions requestOptions) Deletes an access profile.deleteAppContext(String contextId) Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context.deleteAppContext(String contextId, RequestOptions requestOptions) Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context.deleteAppContext(String contextId, DeleteAppContextRequest request) Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context.deleteAppContext(String contextId, DeleteAppContextRequest request, RequestOptions requestOptions) Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context.deleteIssuer(String issuerId) Deregisters a trusted third-party IdP issuer.deleteIssuer(String issuerId, RequestOptions requestOptions) Deregisters a trusted third-party IdP issuer.deleteIssuer(String issuerId, DeleteIssuerRequest request) Deregisters a trusted third-party IdP issuer.deleteIssuer(String issuerId, DeleteIssuerRequest request, RequestOptions requestOptions) Deregisters a trusted third-party IdP issuer.deleteRole(String contextId, String roleId) Deletes a role.deleteRole(String contextId, String roleId, RequestOptions requestOptions) Deletes a role.deleteRole(String contextId, String roleId, DeleteRoleRequest request) Deletes a role.deleteRole(String contextId, String roleId, DeleteRoleRequest request, RequestOptions requestOptions) Deletes a role.exchangeToken(TokenExchangeRequest request) RFC 8693 OAuth 2.0 Token Exchange.exchangeToken(TokenExchangeRequest request, RequestOptions requestOptions) RFC 8693 OAuth 2.0 Token Exchange.Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext.getAccessLog(RequestOptions requestOptions) Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext.getAccessLog(GetAccessLogRequest request) Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext.getAccessLog(GetAccessLogRequest request, RequestOptions requestOptions) Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext.getAccessProfile(String contextId, String principalId) Returns a single access profile by itsprincipalIdwithin the given app context.getAccessProfile(String contextId, String principalId, RequestOptions requestOptions) Returns a single access profile by itsprincipalIdwithin the given app context.getAccessProfile(String contextId, String principalId, GetAccessProfileRequest request) Returns a single access profile by itsprincipalIdwithin the given app context.getAccessProfile(String contextId, String principalId, GetAccessProfileRequest request, RequestOptions requestOptions) Returns a single access profile by itsprincipalIdwithin the given app context.getAccessProfileVersions(String contextId, String principalId) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first.getAccessProfileVersions(String contextId, String principalId, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first.getAccessProfileVersions(String contextId, String principalId, GetAccessProfileVersionsRequest request) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first.getAccessProfileVersions(String contextId, String principalId, GetAccessProfileVersionsRequest request, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first.getAdminLogs(GetAdminLogsRequest request) Returns recent API call logs for your account.getAdminLogs(GetAdminLogsRequest request, RequestOptions requestOptions) Returns recent API call logs for your account.getAppContext(String contextId) Returns a single app context by itscontextId.getAppContext(String contextId, RequestOptions requestOptions) Returns a single app context by itscontextId.getAppContext(String contextId, GetAppContextRequest request) Returns a single app context by itscontextId.getAppContext(String contextId, GetAppContextRequest request, RequestOptions requestOptions) Returns a single app context by itscontextId.Retrieves a single registered issuer by issuerId.getIssuer(String issuerId, RequestOptions requestOptions) Retrieves a single registered issuer by issuerId.getIssuer(String issuerId, GetIssuerRequest request) Retrieves a single registered issuer by issuerId.getIssuer(String issuerId, GetIssuerRequest request, RequestOptions requestOptions) Retrieves a single registered issuer by issuerId.getJwks()Returns the platform's JWT signing public key in RFC 7517 JWKS format.getJwks(RequestOptions requestOptions) Returns the platform's JWT signing public key in RFC 7517 JWKS format.Returns a single role by itsroleIdwithin the given app context.getRole(String contextId, String roleId, RequestOptions requestOptions) Returns a single role by itsroleIdwithin the given app context.getRole(String contextId, String roleId, GetRoleRequest request) Returns a single role by itsroleIdwithin the given app context.getRole(String contextId, String roleId, GetRoleRequest request, RequestOptions requestOptions) Returns a single role by itsroleIdwithin the given app context.getRoleVersions(String contextId, String roleId) Returns the audit trail of changes (create, update, and delete events) for a role, newest first.getRoleVersions(String contextId, String roleId, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for a role, newest first.getRoleVersions(String contextId, String roleId, GetRoleVersionsRequest request) Returns the audit trail of changes (create, update, and delete events) for a role, newest first.getRoleVersions(String contextId, String roleId, GetRoleVersionsRequest request, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for a role, newest first.getScopedKey(String keyId) Returns the metadata for a single scoped API key.getScopedKey(String keyId, RequestOptions requestOptions) Returns the metadata for a single scoped API key.getScopedKey(String keyId, GetScopedKeyRequest request) Returns the metadata for a single scoped API key.getScopedKey(String keyId, GetScopedKeyRequest request, RequestOptions requestOptions) Returns the metadata for a single scoped API key.getUsage()Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments.getUsage(RequestOptions requestOptions) Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments.getUsage(GetUsageRequest request) Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments.getUsage(GetUsageRequest request, RequestOptions requestOptions) Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments.listAccessProfiles(String contextId) Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes.listAccessProfiles(String contextId, RequestOptions requestOptions) Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes.listAccessProfiles(String contextId, ListAccessProfilesRequest request) Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes.listAccessProfiles(String contextId, ListAccessProfilesRequest request, RequestOptions requestOptions) Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes.Returns a paginated list of the app contexts in your account.listAppContexts(RequestOptions requestOptions) Returns a paginated list of the app contexts in your account.listAppContexts(ListAppContextsRequest request) Returns a paginated list of the app contexts in your account.listAppContexts(ListAppContextsRequest request, RequestOptions requestOptions) Returns a paginated list of the app contexts in your account.Returns the issuers registered in your tenant.listIssuers(RequestOptions requestOptions) Returns the issuers registered in your tenant.listIssuers(ListIssuersRequest request) Returns the issuers registered in your tenant.listIssuers(ListIssuersRequest request, RequestOptions requestOptions) Returns the issuers registered in your tenant.listProfilesForPrincipal(String principalId) Returns the access profiles for the given principal.listProfilesForPrincipal(String principalId, RequestOptions requestOptions) Returns the access profiles for the given principal.listProfilesForPrincipal(String principalId, ListProfilesForPrincipalRequest request) Returns the access profiles for the given principal.listProfilesForPrincipal(String principalId, ListProfilesForPrincipalRequest request, RequestOptions requestOptions) Returns the access profiles for the given principal.Returns the roles defined under the given app context.listRoles(String contextId, RequestOptions requestOptions) Returns the roles defined under the given app context.listRoles(String contextId, ListRolesRequest request) Returns the roles defined under the given app context.listRoles(String contextId, ListRolesRequest request, RequestOptions requestOptions) Returns the roles defined under the given app context.Lists your scoped API keys (ssk_*) in your credential's own environment — a live key lists live keys, a test key lists test keys.listScopedKeys(RequestOptions requestOptions) Lists your scoped API keys (ssk_*) in your credential's own environment — a live key lists live keys, a test key lists test keys.mintToken(TokenRequest request) Creates a short-lived JWT bearer token restricted to specific actions and, optionally, to a particular user or identity entity (in any namespace).mintToken(TokenRequest request, RequestOptions requestOptions) Creates a short-lived JWT bearer token restricted to specific actions and, optionally, to a particular user or identity entity (in any namespace).ping()Returns the identity bound to your credential — your account, principal type, key id, and scope details — so you can confirm who you are authenticated as and that the credential is valid.ping(RequestOptions requestOptions) Returns the identity bound to your credential — your account, principal type, key id, and scope details — so you can confirm who you are authenticated as and that the credential is valid.registerIssuer(IssuerRequest request) Registers a trusted third-party IdP issuer that BYO-IdP token exchange (POST /v1/auth/token/exchange) may accept asubject_tokenfrom.registerIssuer(IssuerRequest request, RequestOptions requestOptions) Registers a trusted third-party IdP issuer that BYO-IdP token exchange (POST /v1/auth/token/exchange) may accept asubject_tokenfrom.resendInvite(CreateInviteRequest request) Resend an outstanding invitation, identified by its email and app context.resendInvite(CreateInviteRequest request, RequestOptions requestOptions) Resend an outstanding invitation, identified by its email and app context.revokeScopedKey(String keyId) Revokes a scoped API key.revokeScopedKey(String keyId, RequestOptions requestOptions) Revokes a scoped API key.revokeScopedKey(String keyId, RevokeScopedKeyRequest request) Revokes a scoped API key.revokeScopedKey(String keyId, RevokeScopedKeyRequest request, RequestOptions requestOptions) Revokes a scoped API key.updateAccessProfile(String contextId, String principalId, UpdateAccessProfileRequest request) Updates an access profile.updateAccessProfile(String contextId, String principalId, UpdateAccessProfileRequest request, RequestOptions requestOptions) Updates an access profile.updateAppContext(String contextId, UpdateAppContextRequest request) Updates the name, description, and/or companyName of an app context.updateAppContext(String contextId, UpdateAppContextRequest request, RequestOptions requestOptions) Updates the name, description, and/or companyName of an app context.updateIssuer(String issuerId) Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies.updateIssuer(String issuerId, RequestOptions requestOptions) Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies.updateIssuer(String issuerId, IssuerUpdateRequest request) Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies.updateIssuer(String issuerId, IssuerUpdateRequest request, RequestOptions requestOptions) Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies.updateRole(String contextId, String roleId, UpdateRoleRequest request) Updates a role.updateRole(String contextId, String roleId, UpdateRoleRequest request, RequestOptions requestOptions) Updates a role.
-
Field Details
-
clientOptions
-
-
Constructor Details
-
RawAuthClient
-
-
Method Details
-
getJwks
Returns the platform's JWT signing public key in RFC 7517 JWKS format. Use it with any JWKS-aware JWT library to verifyinv_*invite tokens,st_*scoped tokens, and other platform-signed tokens locally, without calling back to the API for each verification. The response carries a one-hourCache-Control, so cache it and re-fetch roughly hourly rather than on every verification. Thekidvalue changes when the key rotates; re-fetch this document whenever you encounter a token signed with an unknownkid. -
getJwks
Returns the platform's JWT signing public key in RFC 7517 JWKS format. Use it with any JWKS-aware JWT library to verifyinv_*invite tokens,st_*scoped tokens, and other platform-signed tokens locally, without calling back to the API for each verification. The response carries a one-hourCache-Control, so cache it and re-fetch roughly hourly rather than on every verification. Thekidvalue changes when the key rotates; re-fetch this document whenever you encounter a token signed with an unknownkid. -
getAccessLog
Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext. Metadata only — never the PHI itself. This is the disclosure-accounting surface from which a covered entity derives its HIPAA §164.528 accounting of disclosures. Provide at least one query axis: a subject (subjectType+subjectId) within acontextIdfor the primary accounting query;resourceIdwithin acontextIdfor 'who read this record';callerKeyIdfor 'what did this credential read' (account-wide forensic); orcontextIdalone to enumerate a whole context.from/tobound the time window. Results are scoped to your account, derived from your token — never from input. Requires theaccess-log:rscope. -
getAccessLog
Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext. Metadata only — never the PHI itself. This is the disclosure-accounting surface from which a covered entity derives its HIPAA §164.528 accounting of disclosures. Provide at least one query axis: a subject (subjectType+subjectId) within acontextIdfor the primary accounting query;resourceIdwithin acontextIdfor 'who read this record';callerKeyIdfor 'what did this credential read' (account-wide forensic); orcontextIdalone to enumerate a whole context.from/tobound the time window. Results are scoped to your account, derived from your token — never from input. Requires theaccess-log:rscope. -
getAccessLog
Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext. Metadata only — never the PHI itself. This is the disclosure-accounting surface from which a covered entity derives its HIPAA §164.528 accounting of disclosures. Provide at least one query axis: a subject (subjectType+subjectId) within acontextIdfor the primary accounting query;resourceIdwithin acontextIdfor 'who read this record';callerKeyIdfor 'what did this credential read' (account-wide forensic); orcontextIdalone to enumerate a whole context.from/tobound the time window. Results are scoped to your account, derived from your token — never from input. Requires theaccess-log:rscope. -
getAccessLog
public VectrosApiHttpResponse<ReadAccessLogPage> getAccessLog(GetAccessLogRequest request, RequestOptions requestOptions) Returns a page of per-subject PHI read-access rows: who read which subject's PHI, when, against which record, and whether any sensitive value was actually revealed in plaintext. Metadata only — never the PHI itself. This is the disclosure-accounting surface from which a covered entity derives its HIPAA §164.528 accounting of disclosures. Provide at least one query axis: a subject (subjectType+subjectId) within acontextIdfor the primary accounting query;resourceIdwithin acontextIdfor 'who read this record';callerKeyIdfor 'what did this credential read' (account-wide forensic); orcontextIdalone to enumerate a whole context.from/tobound the time window. Results are scoped to your account, derived from your token — never from input. Requires theaccess-log:rscope. -
listScopedKeys
Lists your scoped API keys (ssk_*) in your credential's own environment — a live key lists live keys, a test key lists test keys. Revoked keys are excluded. Requires thekeys:rscope. -
listScopedKeys
Lists your scoped API keys (ssk_*) in your credential's own environment — a live key lists live keys, a test key lists test keys. Revoked keys are excluded. Requires thekeys:rscope. -
createScopedKey
Creates a scoped API key (anssk_*secret) that inherits its permissions from an existing access profile in your account. The call is idempotent on the combination of tenant, context, user, and key name: re-issuing the same request returns the existing key WITHOUT re-disclosing its raw secret. The raw key is returned ONLY in this response — store it securely, as it cannot be retrieved again. Requires thekeys:cscope. If you use a scoped credential,keys:calone is not sufficient: because the minted key is durably bound to the profile you name, the profile's effective scopes may not exceed your own, and you may only mint against a profile whoseidentityOverridesvalues your own identity holds. Minting a key bound to your OWN principal needs nothing further; minting one bound to a DIFFERENT principal additionally requires thedelegate-mintcapability (granted_capabilities) on your credential — without it the request is refused. A root API key (sk_) is exempt from all three bounds. -
createScopedKey
public VectrosApiHttpResponse<ScopedKeyResponse> createScopedKey(CreateScopedKeyRequest request, RequestOptions requestOptions) Creates a scoped API key (anssk_*secret) that inherits its permissions from an existing access profile in your account. The call is idempotent on the combination of tenant, context, user, and key name: re-issuing the same request returns the existing key WITHOUT re-disclosing its raw secret. The raw key is returned ONLY in this response — store it securely, as it cannot be retrieved again. Requires thekeys:cscope. If you use a scoped credential,keys:calone is not sufficient: because the minted key is durably bound to the profile you name, the profile's effective scopes may not exceed your own, and you may only mint against a profile whoseidentityOverridesvalues your own identity holds. Minting a key bound to your OWN principal needs nothing further; minting one bound to a DIFFERENT principal additionally requires thedelegate-mintcapability (granted_capabilities) on your credential — without it the request is refused. A root API key (sk_) is exempt from all three bounds. -
getScopedKey
Returns the metadata for a single scoped API key. The raw secret is NOT included — it is only ever returned once, when the key is first created. Requires thekeys:rscope. -
getScopedKey
public VectrosApiHttpResponse<ScopedKeyResponse> getScopedKey(String keyId, RequestOptions requestOptions) Returns the metadata for a single scoped API key. The raw secret is NOT included — it is only ever returned once, when the key is first created. Requires thekeys:rscope. -
getScopedKey
public VectrosApiHttpResponse<ScopedKeyResponse> getScopedKey(String keyId, GetScopedKeyRequest request) Returns the metadata for a single scoped API key. The raw secret is NOT included — it is only ever returned once, when the key is first created. Requires thekeys:rscope. -
getScopedKey
public VectrosApiHttpResponse<ScopedKeyResponse> getScopedKey(String keyId, GetScopedKeyRequest request, RequestOptions requestOptions) Returns the metadata for a single scoped API key. The raw secret is NOT included — it is only ever returned once, when the key is first created. Requires thekeys:rscope. -
revokeScopedKey
Revokes a scoped API key. Its status changes torevokedand it stops working within about 5 minutes, the maximum time authorization is cached. Revocation is permanent. Requires thekeys:dscope. -
revokeScopedKey
Revokes a scoped API key. Its status changes torevokedand it stops working within about 5 minutes, the maximum time authorization is cached. Revocation is permanent. Requires thekeys:dscope. -
revokeScopedKey
Revokes a scoped API key. Its status changes torevokedand it stops working within about 5 minutes, the maximum time authorization is cached. Revocation is permanent. Requires thekeys:dscope. -
revokeScopedKey
public VectrosApiHttpResponse<Void> revokeScopedKey(String keyId, RevokeScopedKeyRequest request, RequestOptions requestOptions) Revokes a scoped API key. Its status changes torevokedand it stops working within about 5 minutes, the maximum time authorization is cached. Revocation is permanent. Requires thekeys:dscope. -
getAdminLogs
Returns recent API call logs for your account. Each entry represents one API request; request and response bodies are never logged.startTimeandendTimemust be ISO-8601 UTC (e.g.2025-01-15T09:00:00Z);endTimedefaults to now. Filter by resource, method, key id, or context id, or seterrorsOnlyto see only failures. Results are scoped to your account, derived from your token — never from input. Requires thelogs:rscope. -
getAdminLogs
public VectrosApiHttpResponse<AdminLogsResponse> getAdminLogs(GetAdminLogsRequest request, RequestOptions requestOptions) Returns recent API call logs for your account. Each entry represents one API request; request and response bodies are never logged.startTimeandendTimemust be ISO-8601 UTC (e.g.2025-01-15T09:00:00Z);endTimedefaults to now. Filter by resource, method, key id, or context id, or seterrorsOnlyto see only failures. Results are scoped to your account, derived from your token — never from input. Requires thelogs:rscope. -
listAccessProfiles
Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes. Each profile binds a principal to either a set of inline scopes or a referenced role. Results are paginated. Requires theprofiles:rscope. -
listAccessProfiles
public VectrosApiHttpResponse<AccessProfilePage> listAccessProfiles(String contextId, RequestOptions requestOptions) Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes. Each profile binds a principal to either a set of inline scopes or a referenced role. Results are paginated. Requires theprofiles:rscope. -
listAccessProfiles
public VectrosApiHttpResponse<AccessProfilePage> listAccessProfiles(String contextId, ListAccessProfilesRequest request) Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes. Each profile binds a principal to either a set of inline scopes or a referenced role. Results are paginated. Requires theprofiles:rscope. -
listAccessProfiles
public VectrosApiHttpResponse<AccessProfilePage> listAccessProfiles(String contextId, ListAccessProfilesRequest request, RequestOptions requestOptions) Returns the access profiles assigned within the given app context — in effect, who has access to this context and with what scopes. Each profile binds a principal to either a set of inline scopes or a referenced role. Results are paginated. Requires theprofiles:rscope. -
createAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> createAccessProfile(String contextId, AccessProfileRequest body) Creates a new access profile under the given app context. This call is idempotent byprincipalId: if a profile with the sameprincipalIdalready exists, the existing profile is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing profile was returned) tells the two apart. To overwrite an existing profile'sscopes/roleId,identityOverrides, andstatusinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope, and applies the sameidentityOverridesbounds the update endpoint documents — a scoped credential may not repoint or clear an identity value it does not itself hold). TheprincipalIdmust name a principal that already exists: ausr_principal must be a live user in your tenant, so create the user before granting it a profile. Ausr_id that names no such user is rejected, and no profile is created.key_principals are not checked this way. You must provide exactly one ofscopes(an inline list of scopes) orroleId(a reference to a role); supplying both, or neither, is rejected.identityOverridesis keyed by ownership namespace inscope:<namespace>form —scope:organdscope:clientfor the reserved namespaces, or any namespace you have registered — and may name at most two; any other key (including the account identifier oruserId) is rejected. If you use a scoped credential, the profile's effective scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
createAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> createAccessProfile(String contextId, AccessProfileRequest body, RequestOptions requestOptions) Creates a new access profile under the given app context. This call is idempotent byprincipalId: if a profile with the sameprincipalIdalready exists, the existing profile is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing profile was returned) tells the two apart. To overwrite an existing profile'sscopes/roleId,identityOverrides, andstatusinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope, and applies the sameidentityOverridesbounds the update endpoint documents — a scoped credential may not repoint or clear an identity value it does not itself hold). TheprincipalIdmust name a principal that already exists: ausr_principal must be a live user in your tenant, so create the user before granting it a profile. Ausr_id that names no such user is rejected, and no profile is created.key_principals are not checked this way. You must provide exactly one ofscopes(an inline list of scopes) orroleId(a reference to a role); supplying both, or neither, is rejected.identityOverridesis keyed by ownership namespace inscope:<namespace>form —scope:organdscope:clientfor the reserved namespaces, or any namespace you have registered — and may name at most two; any other key (including the account identifier oruserId) is rejected. If you use a scoped credential, the profile's effective scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
createAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> createAccessProfile(String contextId, CreateAccessProfileRequest request) Creates a new access profile under the given app context. This call is idempotent byprincipalId: if a profile with the sameprincipalIdalready exists, the existing profile is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing profile was returned) tells the two apart. To overwrite an existing profile'sscopes/roleId,identityOverrides, andstatusinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope, and applies the sameidentityOverridesbounds the update endpoint documents — a scoped credential may not repoint or clear an identity value it does not itself hold). TheprincipalIdmust name a principal that already exists: ausr_principal must be a live user in your tenant, so create the user before granting it a profile. Ausr_id that names no such user is rejected, and no profile is created.key_principals are not checked this way. You must provide exactly one ofscopes(an inline list of scopes) orroleId(a reference to a role); supplying both, or neither, is rejected.identityOverridesis keyed by ownership namespace inscope:<namespace>form —scope:organdscope:clientfor the reserved namespaces, or any namespace you have registered — and may name at most two; any other key (including the account identifier oruserId) is rejected. If you use a scoped credential, the profile's effective scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
createAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> createAccessProfile(String contextId, CreateAccessProfileRequest request, RequestOptions requestOptions) Creates a new access profile under the given app context. This call is idempotent byprincipalId: if a profile with the sameprincipalIdalready exists, the existing profile is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing profile was returned) tells the two apart. To overwrite an existing profile'sscopes/roleId,identityOverrides, andstatusinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope, and applies the sameidentityOverridesbounds the update endpoint documents — a scoped credential may not repoint or clear an identity value it does not itself hold). TheprincipalIdmust name a principal that already exists: ausr_principal must be a live user in your tenant, so create the user before granting it a profile. Ausr_id that names no such user is rejected, and no profile is created.key_principals are not checked this way. You must provide exactly one ofscopes(an inline list of scopes) orroleId(a reference to a role); supplying both, or neither, is rejected.identityOverridesis keyed by ownership namespace inscope:<namespace>form —scope:organdscope:clientfor the reserved namespaces, or any namespace you have registered — and may name at most two; any other key (including the account identifier oruserId) is rejected. If you use a scoped credential, the profile's effective scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
listAppContexts
Returns a paginated list of the app contexts in your account. Each app context is a namespace that groups the access profiles and roles for one of your applications. Requires theapp-contexts:rscope. -
listAppContexts
Returns a paginated list of the app contexts in your account. Each app context is a namespace that groups the access profiles and roles for one of your applications. Requires theapp-contexts:rscope. -
listAppContexts
Returns a paginated list of the app contexts in your account. Each app context is a namespace that groups the access profiles and roles for one of your applications. Requires theapp-contexts:rscope. -
listAppContexts
public VectrosApiHttpResponse<AppContextPage> listAppContexts(ListAppContextsRequest request, RequestOptions requestOptions) Returns a paginated list of the app contexts in your account. Each app context is a namespace that groups the access profiles and roles for one of your applications. Requires theapp-contexts:rscope. -
createAppContext
Creates a new app context. This call is idempotent bycontextId: if an app context with the samecontextIdalready exists, the existing app context is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing context was returned) tells the two apart. To overwrite an existing context'sname/description/companyNameinstead of returning it unchanged, set?upsert=true(this also requires theapp-contexts:uscope). The reservedcontextIdvaluevectros-admincannot be created through this endpoint; it is provisioned automatically for your account. Requires theapp-contexts:cscope. -
createAppContext
public VectrosApiHttpResponse<AppContextResponse> createAppContext(AppContextRequest body, RequestOptions requestOptions) Creates a new app context. This call is idempotent bycontextId: if an app context with the samecontextIdalready exists, the existing app context is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing context was returned) tells the two apart. To overwrite an existing context'sname/description/companyNameinstead of returning it unchanged, set?upsert=true(this also requires theapp-contexts:uscope). The reservedcontextIdvaluevectros-admincannot be created through this endpoint; it is provisioned automatically for your account. Requires theapp-contexts:cscope. -
createAppContext
Creates a new app context. This call is idempotent bycontextId: if an app context with the samecontextIdalready exists, the existing app context is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing context was returned) tells the two apart. To overwrite an existing context'sname/description/companyNameinstead of returning it unchanged, set?upsert=true(this also requires theapp-contexts:uscope). The reservedcontextIdvaluevectros-admincannot be created through this endpoint; it is provisioned automatically for your account. Requires theapp-contexts:cscope. -
createAppContext
public VectrosApiHttpResponse<AppContextResponse> createAppContext(CreateAppContextRequest request, RequestOptions requestOptions) Creates a new app context. This call is idempotent bycontextId: if an app context with the samecontextIdalready exists, the existing app context is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing context was returned) tells the two apart. To overwrite an existing context'sname/description/companyNameinstead of returning it unchanged, set?upsert=true(this also requires theapp-contexts:uscope). The reservedcontextIdvaluevectros-admincannot be created through this endpoint; it is provisioned automatically for your account. Requires theapp-contexts:cscope. -
listRoles
Returns the roles defined under the given app context. A role is a reusable, named bundle of scopes that access profiles can reference instead of listing scopes inline. Results are paginated. Requires theprofiles:rscope. -
listRoles
Returns the roles defined under the given app context. A role is a reusable, named bundle of scopes that access profiles can reference instead of listing scopes inline. Results are paginated. Requires theprofiles:rscope. -
listRoles
Returns the roles defined under the given app context. A role is a reusable, named bundle of scopes that access profiles can reference instead of listing scopes inline. Results are paginated. Requires theprofiles:rscope. -
listRoles
public VectrosApiHttpResponse<RolePage> listRoles(String contextId, ListRolesRequest request, RequestOptions requestOptions) Returns the roles defined under the given app context. A role is a reusable, named bundle of scopes that access profiles can reference instead of listing scopes inline. Results are paginated. Requires theprofiles:rscope. -
createRole
Creates a new role under the given app context. This call is idempotent byroleId: if a role with the sameroleIdalready exists, the existing role is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing role was returned) tells the two apart. To overwrite an existing role'sname/description/scopesinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope). If you use a scoped credential, the role's scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
createRole
public VectrosApiHttpResponse<RoleResponse> createRole(String contextId, RoleRequest body, RequestOptions requestOptions) Creates a new role under the given app context. This call is idempotent byroleId: if a role with the sameroleIdalready exists, the existing role is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing role was returned) tells the two apart. To overwrite an existing role'sname/description/scopesinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope). If you use a scoped credential, the role's scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
createRole
Creates a new role under the given app context. This call is idempotent byroleId: if a role with the sameroleIdalready exists, the existing role is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing role was returned) tells the two apart. To overwrite an existing role'sname/description/scopesinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope). If you use a scoped credential, the role's scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
createRole
public VectrosApiHttpResponse<RoleResponse> createRole(String contextId, CreateRoleRequest request, RequestOptions requestOptions) Creates a new role under the given app context. This call is idempotent byroleId: if a role with the sameroleIdalready exists, the existing role is returned (with status 200) instead of creating a duplicate. The response'screatedfield (and the HTTP status — 201 when created, 200 when an existing role was returned) tells the two apart. To overwrite an existing role'sname/description/scopesinstead of returning it unchanged, set?upsert=true(this also requires theprofiles:uscope). If you use a scoped credential, the role's scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:cscope. -
getAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> getAccessProfile(String contextId, String principalId) Returns a single access profile by itsprincipalIdwithin the given app context. Requires theprofiles:rscope. -
getAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> getAccessProfile(String contextId, String principalId, RequestOptions requestOptions) Returns a single access profile by itsprincipalIdwithin the given app context. Requires theprofiles:rscope. -
getAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> getAccessProfile(String contextId, String principalId, GetAccessProfileRequest request) Returns a single access profile by itsprincipalIdwithin the given app context. Requires theprofiles:rscope. -
getAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> getAccessProfile(String contextId, String principalId, GetAccessProfileRequest request, RequestOptions requestOptions) Returns a single access profile by itsprincipalIdwithin the given app context. Requires theprofiles:rscope. -
updateAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> updateAccessProfile(String contextId, String principalId, UpdateAccessProfileRequest request) Updates an access profile. This is a partial update: any field you omit (or send as null) keeps its existing value. A profile must reference either inlinescopesor aroleId, never both — so settingscopesclears anyroleId, and settingroleIdclears any inlinescopes. ThecontextIdandprincipalIdare immutable. Status changes (for example active to suspended) take effect within about five minutes. If you use a scoped credential, the profile's effective scopes may not exceed your own, and itsidentityOverridesare bounded twice: you may only set a value your own identity holds, and you may only change or clear a value the profile already holds if that value is yours as well. Repointing or clearing another principal's established identity therefore returns 403. A root API key (sk_) is exempt. If you setroleId, it must reference a role that already exists in this context. Requires theprofiles:uscope. -
updateAccessProfile
public VectrosApiHttpResponse<AccessProfileResponse> updateAccessProfile(String contextId, String principalId, UpdateAccessProfileRequest request, RequestOptions requestOptions) Updates an access profile. This is a partial update: any field you omit (or send as null) keeps its existing value. A profile must reference either inlinescopesor aroleId, never both — so settingscopesclears anyroleId, and settingroleIdclears any inlinescopes. ThecontextIdandprincipalIdare immutable. Status changes (for example active to suspended) take effect within about five minutes. If you use a scoped credential, the profile's effective scopes may not exceed your own, and itsidentityOverridesare bounded twice: you may only set a value your own identity holds, and you may only change or clear a value the profile already holds if that value is yours as well. Repointing or clearing another principal's established identity therefore returns 403. A root API key (sk_) is exempt. If you setroleId, it must reference a role that already exists in this context. Requires theprofiles:uscope. -
deleteAccessProfile
Deletes an access profile. Within about five minutes (the access-profile cache lifetime), token minting for this principal in this context will be denied. If you use a scoped credential and the profile carriesidentityOverrides, you may only delete it when you hold those values yourself — deleting a profile removes its identity, so the same bound applies as when clearing it. A profile with noidentityOverridesis unaffected, and a root API key (sk_) is exempt. Requires theprofiles:dscope. -
deleteAccessProfile
public VectrosApiHttpResponse<Void> deleteAccessProfile(String contextId, String principalId, RequestOptions requestOptions) Deletes an access profile. Within about five minutes (the access-profile cache lifetime), token minting for this principal in this context will be denied. If you use a scoped credential and the profile carriesidentityOverrides, you may only delete it when you hold those values yourself — deleting a profile removes its identity, so the same bound applies as when clearing it. A profile with noidentityOverridesis unaffected, and a root API key (sk_) is exempt. Requires theprofiles:dscope. -
deleteAccessProfile
public VectrosApiHttpResponse<Void> deleteAccessProfile(String contextId, String principalId, DeleteAccessProfileRequest request) Deletes an access profile. Within about five minutes (the access-profile cache lifetime), token minting for this principal in this context will be denied. If you use a scoped credential and the profile carriesidentityOverrides, you may only delete it when you hold those values yourself — deleting a profile removes its identity, so the same bound applies as when clearing it. A profile with noidentityOverridesis unaffected, and a root API key (sk_) is exempt. Requires theprofiles:dscope. -
deleteAccessProfile
public VectrosApiHttpResponse<Void> deleteAccessProfile(String contextId, String principalId, DeleteAccessProfileRequest request, RequestOptions requestOptions) Deletes an access profile. Within about five minutes (the access-profile cache lifetime), token minting for this principal in this context will be denied. If you use a scoped credential and the profile carriesidentityOverrides, you may only delete it when you hold those values yourself — deleting a profile removes its identity, so the same bound applies as when clearing it. A profile with noidentityOverridesis unaffected, and a root API key (sk_) is exempt. Requires theprofiles:dscope. -
getAppContext
Returns a single app context by itscontextId. Requires theapp-contexts:rscope. -
getAppContext
public VectrosApiHttpResponse<AppContextResponse> getAppContext(String contextId, RequestOptions requestOptions) Returns a single app context by itscontextId. Requires theapp-contexts:rscope. -
getAppContext
public VectrosApiHttpResponse<AppContextResponse> getAppContext(String contextId, GetAppContextRequest request) Returns a single app context by itscontextId. Requires theapp-contexts:rscope. -
getAppContext
public VectrosApiHttpResponse<AppContextResponse> getAppContext(String contextId, GetAppContextRequest request, RequestOptions requestOptions) Returns a single app context by itscontextId. Requires theapp-contexts:rscope. -
updateAppContext
public VectrosApiHttpResponse<AppContextResponse> updateAppContext(String contextId, UpdateAppContextRequest request) Updates the name, description, and/or companyName of an app context. This is a partial update: any field you omit (or send as null) keeps its existing value. ThecontextIdis immutable and is taken from the URL path, so anycontextIdin the request body is ignored. Requires theapp-contexts:uscope. -
updateAppContext
public VectrosApiHttpResponse<AppContextResponse> updateAppContext(String contextId, UpdateAppContextRequest request, RequestOptions requestOptions) Updates the name, description, and/or companyName of an app context. This is a partial update: any field you omit (or send as null) keeps its existing value. ThecontextIdis immutable and is taken from the URL path, so anycontextIdin the request body is ignored. Requires theapp-contexts:uscope. -
deleteAppContext
Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context. This is irreversible. The deletion runs asynchronously: the call returns 202 immediately and the context's data drains in the background. Poll the context'sstatusfield to observe when the teardown completes (purgingwhile draining, thendeleted). To guard against accidental deletion, you must echo the contextId back in theconfirmquery parameter (?confirm={contextId}). The reserveddefaultandvectros-admincontexts cannot be deleted. This operation requires a root API key (one beginning withsk_): no scoped credential, not even one with full wildcard (*) scope, can trigger this teardown. -
deleteAppContext
public VectrosApiHttpResponse<Void> deleteAppContext(String contextId, RequestOptions requestOptions) Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context. This is irreversible. The deletion runs asynchronously: the call returns 202 immediately and the context's data drains in the background. Poll the context'sstatusfield to observe when the teardown completes (purgingwhile draining, thendeleted). To guard against accidental deletion, you must echo the contextId back in theconfirmquery parameter (?confirm={contextId}). The reserveddefaultandvectros-admincontexts cannot be deleted. This operation requires a root API key (one beginning withsk_): no scoped credential, not even one with full wildcard (*) scope, can trigger this teardown. -
deleteAppContext
public VectrosApiHttpResponse<Void> deleteAppContext(String contextId, DeleteAppContextRequest request) Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context. This is irreversible. The deletion runs asynchronously: the call returns 202 immediately and the context's data drains in the background. Poll the context'sstatusfield to observe when the teardown completes (purgingwhile draining, thendeleted). To guard against accidental deletion, you must echo the contextId back in theconfirmquery parameter (?confirm={contextId}). The reserveddefaultandvectros-admincontexts cannot be deleted. This operation requires a root API key (one beginning withsk_): no scoped credential, not even one with full wildcard (*) scope, can trigger this teardown. -
deleteAppContext
public VectrosApiHttpResponse<Void> deleteAppContext(String contextId, DeleteAppContextRequest request, RequestOptions requestOptions) Permanently deletes an app context and everything in it — every record, document, folder, schema, role, and access profile belonging to the context. This is irreversible. The deletion runs asynchronously: the call returns 202 immediately and the context's data drains in the background. Poll the context'sstatusfield to observe when the teardown completes (purgingwhile draining, thendeleted). To guard against accidental deletion, you must echo the contextId back in theconfirmquery parameter (?confirm={contextId}). The reserveddefaultandvectros-admincontexts cannot be deleted. This operation requires a root API key (one beginning withsk_): no scoped credential, not even one with full wildcard (*) scope, can trigger this teardown. -
getRole
Returns a single role by itsroleIdwithin the given app context. Requires theprofiles:rscope. -
getRole
public VectrosApiHttpResponse<RoleResponse> getRole(String contextId, String roleId, RequestOptions requestOptions) Returns a single role by itsroleIdwithin the given app context. Requires theprofiles:rscope. -
getRole
public VectrosApiHttpResponse<RoleResponse> getRole(String contextId, String roleId, GetRoleRequest request) Returns a single role by itsroleIdwithin the given app context. Requires theprofiles:rscope. -
getRole
public VectrosApiHttpResponse<RoleResponse> getRole(String contextId, String roleId, GetRoleRequest request, RequestOptions requestOptions) Returns a single role by itsroleIdwithin the given app context. Requires theprofiles:rscope. -
updateRole
public VectrosApiHttpResponse<RoleResponse> updateRole(String contextId, String roleId, UpdateRoleRequest request) Updates a role. This is a partial update: any field you omit (or send as null) keeps its existing value. TheroleIdandcontextIdare immutable. Scope changes take effect for access profiles that reference this role within about five minutes. If you use a scoped credential, the role's scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:uscope. -
updateRole
public VectrosApiHttpResponse<RoleResponse> updateRole(String contextId, String roleId, UpdateRoleRequest request, RequestOptions requestOptions) Updates a role. This is a partial update: any field you omit (or send as null) keeps its existing value. TheroleIdandcontextIdare immutable. Scope changes take effect for access profiles that reference this role within about five minutes. If you use a scoped credential, the role's scopes may not exceed your own; a root API key (sk_) is exempt. Requires theprofiles:uscope. -
deleteRole
Deletes a role. A role that is still referenced by one or more access profiles cannot be deleted: the request is rejected with 409. Reassign or delete those profiles first, then retry. Requires theprofiles:dscope. -
deleteRole
public VectrosApiHttpResponse<Void> deleteRole(String contextId, String roleId, RequestOptions requestOptions) Deletes a role. A role that is still referenced by one or more access profiles cannot be deleted: the request is rejected with 409. Reassign or delete those profiles first, then retry. Requires theprofiles:dscope. -
deleteRole
public VectrosApiHttpResponse<Void> deleteRole(String contextId, String roleId, DeleteRoleRequest request) Deletes a role. A role that is still referenced by one or more access profiles cannot be deleted: the request is rejected with 409. Reassign or delete those profiles first, then retry. Requires theprofiles:dscope. -
deleteRole
public VectrosApiHttpResponse<Void> deleteRole(String contextId, String roleId, DeleteRoleRequest request, RequestOptions requestOptions) Deletes a role. A role that is still referenced by one or more access profiles cannot be deleted: the request is rejected with 409. Reassign or delete those profiles first, then retry. Requires theprofiles:dscope. -
getAccessProfileVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getAccessProfileVersions(String contextId, String principalId) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first. Version history is always recorded for every access profile; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getAccessProfileVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getAccessProfileVersions(String contextId, String principalId, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first. Version history is always recorded for every access profile; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getAccessProfileVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getAccessProfileVersions(String contextId, String principalId, GetAccessProfileVersionsRequest request) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first. Version history is always recorded for every access profile; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getAccessProfileVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getAccessProfileVersions(String contextId, String principalId, GetAccessProfileVersionsRequest request, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for an access profile, most recent first. Version history is always recorded for every access profile; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getRoleVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getRoleVersions(String contextId, String roleId) Returns the audit trail of changes (create, update, and delete events) for a role, newest first. Version history is always recorded for every role; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getRoleVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getRoleVersions(String contextId, String roleId, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for a role, newest first. Version history is always recorded for every role; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getRoleVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getRoleVersions(String contextId, String roleId, GetRoleVersionsRequest request) Returns the audit trail of changes (create, update, and delete events) for a role, newest first. Version history is always recorded for every role; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getRoleVersions
public VectrosApiHttpResponse<ModelDataVersionPage> getRoleVersions(String contextId, String roleId, GetRoleVersionsRequest request, RequestOptions requestOptions) Returns the audit trail of changes (create, update, and delete events) for a role, newest first. Version history is always recorded for every role; there is no setting to turn it off. Results are paginated. Requires theprofiles:rscope. -
getUsage
Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments. Defaults to the current month whenyearandmonthare omitted. Requires thebilling:rscope on scoped tokens; API keys always have access. A token confined to a single app context sees only that context's usage: totals, the environment split, and thecontextsbreakdown narrow to it, and the environment your context is not bound to is omitted (null), not zeroed. Only a token with cross-context reach sees your full account-wide totals. Two exceptions to the narrowing, since they have no per-context breakdown to narrow to:reads.calls.used/reads.dataOut.bytes(metered per account, not per context) read as0for a confined token rather than a narrowed figure — the corresponding overage-credit charge fields narrow correctly; andcredits.limitstays your whole plan's ceiling, socredits.remainingmay overstate the account's true remaining room. -
getUsage
Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments. Defaults to the current month whenyearandmonthare omitted. Requires thebilling:rscope on scoped tokens; API keys always have access. A token confined to a single app context sees only that context's usage: totals, the environment split, and thecontextsbreakdown narrow to it, and the environment your context is not bound to is omitted (null), not zeroed. Only a token with cross-context reach sees your full account-wide totals. Two exceptions to the narrowing, since they have no per-context breakdown to narrow to:reads.calls.used/reads.dataOut.bytes(metered per account, not per context) read as0for a confined token rather than a narrowed figure — the corresponding overage-credit charge fields narrow correctly; andcredits.limitstays your whole plan's ceiling, socredits.remainingmay overstate the account's true remaining room. -
getUsage
Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments. Defaults to the current month whenyearandmonthare omitted. Requires thebilling:rscope on scoped tokens; API keys always have access. A token confined to a single app context sees only that context's usage: totals, the environment split, and thecontextsbreakdown narrow to it, and the environment your context is not bound to is omitted (null), not zeroed. Only a token with cross-context reach sees your full account-wide totals. Two exceptions to the narrowing, since they have no per-context breakdown to narrow to:reads.calls.used/reads.dataOut.bytes(metered per account, not per context) read as0for a confined token rather than a narrowed figure — the corresponding overage-credit charge fields narrow correctly; andcredits.limitstays your whole plan's ceiling, socredits.remainingmay overstate the account's true remaining room. -
getUsage
public VectrosApiHttpResponse<UsageReportResponse> getUsage(GetUsageRequest request, RequestOptions requestOptions) Returns full usage detail for the requested calendar month, broken down by category (search, documents, and records) with per-category credit estimates and a split between your live and test environments. Defaults to the current month whenyearandmonthare omitted. Requires thebilling:rscope on scoped tokens; API keys always have access. A token confined to a single app context sees only that context's usage: totals, the environment split, and thecontextsbreakdown narrow to it, and the environment your context is not bound to is omitted (null), not zeroed. Only a token with cross-context reach sees your full account-wide totals. Two exceptions to the narrowing, since they have no per-context breakdown to narrow to:reads.calls.used/reads.dataOut.bytes(metered per account, not per context) read as0for a confined token rather than a narrowed figure — the corresponding overage-credit charge fields narrow correctly; andcredits.limitstays your whole plan's ceiling, socredits.remainingmay overstate the account's true remaining room. -
getIssuer
Retrieves a single registered issuer by issuerId. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns 404 for an issuer registered under any other context unless you re-minted the bootstrap token pinned to that context. -
getIssuer
public VectrosApiHttpResponse<IssuerResponse> getIssuer(String issuerId, RequestOptions requestOptions) Retrieves a single registered issuer by issuerId. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns 404 for an issuer registered under any other context unless you re-minted the bootstrap token pinned to that context. -
getIssuer
Retrieves a single registered issuer by issuerId. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns 404 for an issuer registered under any other context unless you re-minted the bootstrap token pinned to that context. -
getIssuer
public VectrosApiHttpResponse<IssuerResponse> getIssuer(String issuerId, GetIssuerRequest request, RequestOptions requestOptions) Retrieves a single registered issuer by issuerId. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns 404 for an issuer registered under any other context unless you re-minted the bootstrap token pinned to that context. -
updateIssuer
Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies. Fields omitted from the body are left unchanged (partial update).issuer,jwksUri,audience, andcontextIdare trust-anchor / routing-pin fields and are immutable via this route — supplying a value that differs from the current registration is rejected with 400; supplying the current value back is a no-op. Rotating a trust anchor requires deleting and re-registering the issuer, which is itself refused while any user is bound through it. Requires a root API key or the bootstrap's provisioning capability, gated identically to every other operation on this surface. A credential confined to one app context may only update an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may update any issuer. -
updateIssuer
public VectrosApiHttpResponse<IssuerResponse> updateIssuer(String issuerId, RequestOptions requestOptions) Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies. Fields omitted from the body are left unchanged (partial update).issuer,jwksUri,audience, andcontextIdare trust-anchor / routing-pin fields and are immutable via this route — supplying a value that differs from the current registration is rejected with 400; supplying the current value back is a no-op. Rotating a trust anchor requires deleting and re-registering the issuer, which is itself refused while any user is bound through it. Requires a root API key or the bootstrap's provisioning capability, gated identically to every other operation on this surface. A credential confined to one app context may only update an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may update any issuer. -
updateIssuer
public VectrosApiHttpResponse<IssuerResponse> updateIssuer(String issuerId, IssuerUpdateRequest request) Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies. Fields omitted from the body are left unchanged (partial update).issuer,jwksUri,audience, andcontextIdare trust-anchor / routing-pin fields and are immutable via this route — supplying a value that differs from the current registration is rejected with 400; supplying the current value back is a no-op. Rotating a trust anchor requires deleting and re-registering the issuer, which is itself refused while any user is bound through it. Requires a root API key or the bootstrap's provisioning capability, gated identically to every other operation on this surface. A credential confined to one app context may only update an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may update any issuer. -
updateIssuer
public VectrosApiHttpResponse<IssuerResponse> updateIssuer(String issuerId, IssuerUpdateRequest request, RequestOptions requestOptions) Updates the mutable fields of a registered issuer:subClaim,emailClaim,status(active/suspended— a suspended issuer's tokens are rejected identically to an unregistered issuer at exchange time), andselfSignupPolicies. Fields omitted from the body are left unchanged (partial update).issuer,jwksUri,audience, andcontextIdare trust-anchor / routing-pin fields and are immutable via this route — supplying a value that differs from the current registration is rejected with 400; supplying the current value back is a no-op. Rotating a trust anchor requires deleting and re-registering the issuer, which is itself refused while any user is bound through it. Requires a root API key or the bootstrap's provisioning capability, gated identically to every other operation on this surface. A credential confined to one app context may only update an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may update any issuer. -
deleteIssuer
Deregisters a trusted third-party IdP issuer. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context may only deregister an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may deregister any issuer. Refused if any user account was ever created or matched via this issuer (by a prior self-signup or accepted invite, throughPOST /v1/auth/token/exchange) — that access cannot be silently orphaned. Deactivate the affected users first if you intend to cut off their access, or register a replacement issuer before removing this one. An issuer that has never been used for an exchange (no bound users yet) can always be deregistered. -
deleteIssuer
Deregisters a trusted third-party IdP issuer. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context may only deregister an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may deregister any issuer. Refused if any user account was ever created or matched via this issuer (by a prior self-signup or accepted invite, throughPOST /v1/auth/token/exchange) — that access cannot be silently orphaned. Deactivate the affected users first if you intend to cut off their access, or register a replacement issuer before removing this one. An issuer that has never been used for an exchange (no bound users yet) can always be deregistered. -
deleteIssuer
Deregisters a trusted third-party IdP issuer. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context may only deregister an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may deregister any issuer. Refused if any user account was ever created or matched via this issuer (by a prior self-signup or accepted invite, throughPOST /v1/auth/token/exchange) — that access cannot be silently orphaned. Deactivate the affected users first if you intend to cut off their access, or register a replacement issuer before removing this one. An issuer that has never been used for an exchange (no bound users yet) can always be deregistered. -
deleteIssuer
public VectrosApiHttpResponse<Void> deleteIssuer(String issuerId, DeleteIssuerRequest request, RequestOptions requestOptions) Deregisters a trusted third-party IdP issuer. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context may only deregister an issuer registered in that context; naming one registered in another context returns 404, identically to a nonexistent issuerId. A root API key may deregister any issuer. Refused if any user account was ever created or matched via this issuer (by a prior self-signup or accepted invite, throughPOST /v1/auth/token/exchange) — that access cannot be silently orphaned. Deactivate the affected users first if you intend to cut off their access, or register a replacement issuer before removing this one. An issuer that has never been used for an exchange (no bound users yet) can always be deregistered. -
listIssuers
Returns the issuers registered in your tenant. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only the issuers registered in that context; a root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns an empty page for a tenant whose issuers are all registered under a different context unless you re-minted the bootstrap token pinned to that context. Returns a{data, nextCursor}envelope. -
listIssuers
Returns the issuers registered in your tenant. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only the issuers registered in that context; a root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns an empty page for a tenant whose issuers are all registered under a different context unless you re-minted the bootstrap token pinned to that context. Returns a{data, nextCursor}envelope. -
listIssuers
Returns the issuers registered in your tenant. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only the issuers registered in that context; a root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns an empty page for a tenant whose issuers are all registered under a different context unless you re-minted the bootstrap token pinned to that context. Returns a{data, nextCursor}envelope. -
listIssuers
public VectrosApiHttpResponse<IssuerPage> listIssuers(ListIssuersRequest request, RequestOptions requestOptions) Returns the issuers registered in your tenant. Requires a root API key or the bootstrap's provisioning capability. A credential confined to one app context sees only the issuers registered in that context; a root API key sees every context. An ordinary bootstrap credential that didn't specify a context resolves to thedefaultapp context specifically, not every context — so this call returns an empty page for a tenant whose issuers are all registered under a different context unless you re-minted the bootstrap token pinned to that context. Returns a{data, nextCursor}envelope. -
registerIssuer
Registers a trusted third-party IdP issuer that BYO-IdP token exchange (POST /v1/auth/token/exchange) may accept asubject_tokenfrom. Requires a root API key or the CLI bootstrap's provisioning capability — never an ordinary partner-grantable scope. A credential authorized only via the provisioning capability may register only against the app context it is bound to; naming a different one returns 403. A root API key is unaffected and may register against any of its contexts. Idempotent byissuerIdwithin your tenant; the(issuer, audience)pair must not already be registered by a different issuerId/tenant. IfissuerIdcollides with a registration owned by a different app context than the one you're confined to, the request fails with 400 rather than returning that context's configuration. An app context may have at most one active issuer — deregister the existing one first if you need to replace it. One issuer MAY serve several contexts today, each via its own registration row with a distinctaudience. -
registerIssuer
public VectrosApiHttpResponse<IssuerResponse> registerIssuer(IssuerRequest request, RequestOptions requestOptions) Registers a trusted third-party IdP issuer that BYO-IdP token exchange (POST /v1/auth/token/exchange) may accept asubject_tokenfrom. Requires a root API key or the CLI bootstrap's provisioning capability — never an ordinary partner-grantable scope. A credential authorized only via the provisioning capability may register only against the app context it is bound to; naming a different one returns 403. A root API key is unaffected and may register against any of its contexts. Idempotent byissuerIdwithin your tenant; the(issuer, audience)pair must not already be registered by a different issuerId/tenant. IfissuerIdcollides with a registration owned by a different app context than the one you're confined to, the request fails with 400 rather than returning that context's configuration. An app context may have at most one active issuer — deregister the existing one first if you need to replace it. One issuer MAY serve several contexts today, each via its own registration row with a distinctaudience. -
ping
Returns the identity bound to your credential — your account, principal type, key id, and scope details — so you can confirm who you are authenticated as and that the credential is valid. MCP clients use this to render "signed in as ..." in a chat UI without a separate identity endpoint. -
ping
Returns the identity bound to your credential — your account, principal type, key id, and scope details — so you can confirm who you are authenticated as and that the credential is valid. MCP clients use this to render "signed in as ..." in a chat UI without a separate identity endpoint. -
listProfilesForPrincipal
Returns the access profiles for the given principal. Looking up your OWN principal — or holding thecontext-directory-readcapability — returns the profiles across ALL of your contexts, letting you answer questions like "which apps does this user have access to?". A context-bound credential looking up a DIFFERENT principal instead sees only that principal's profile in your credential's own context (at most one result), never across contexts it has no authority over. Results are always confined to your account. Requires theprofiles:rscope. -
listProfilesForPrincipal
public VectrosApiHttpResponse<AccessProfilePage> listProfilesForPrincipal(String principalId, RequestOptions requestOptions) Returns the access profiles for the given principal. Looking up your OWN principal — or holding thecontext-directory-readcapability — returns the profiles across ALL of your contexts, letting you answer questions like "which apps does this user have access to?". A context-bound credential looking up a DIFFERENT principal instead sees only that principal's profile in your credential's own context (at most one result), never across contexts it has no authority over. Results are always confined to your account. Requires theprofiles:rscope. -
listProfilesForPrincipal
public VectrosApiHttpResponse<AccessProfilePage> listProfilesForPrincipal(String principalId, ListProfilesForPrincipalRequest request) Returns the access profiles for the given principal. Looking up your OWN principal — or holding thecontext-directory-readcapability — returns the profiles across ALL of your contexts, letting you answer questions like "which apps does this user have access to?". A context-bound credential looking up a DIFFERENT principal instead sees only that principal's profile in your credential's own context (at most one result), never across contexts it has no authority over. Results are always confined to your account. Requires theprofiles:rscope. -
listProfilesForPrincipal
public VectrosApiHttpResponse<AccessProfilePage> listProfilesForPrincipal(String principalId, ListProfilesForPrincipalRequest request, RequestOptions requestOptions) Returns the access profiles for the given principal. Looking up your OWN principal — or holding thecontext-directory-readcapability — returns the profiles across ALL of your contexts, letting you answer questions like "which apps does this user have access to?". A context-bound credential looking up a DIFFERENT principal instead sees only that principal's profile in your credential's own context (at most one result), never across contexts it has no authority over. Results are always confined to your account. Requires theprofiles:rscope. -
mintToken
Creates a short-lived JWT bearer token restricted to specific actions and, optionally, to a particular user or identity entity (in any namespace). Use this to hand a narrowly-scoped credential to a browser or downstream service so it never sees your root API key. Only callable with a root API key (sk_*). -
mintToken
public VectrosApiHttpResponse<MintTokenResponse> mintToken(TokenRequest request, RequestOptions requestOptions) Creates a short-lived JWT bearer token restricted to specific actions and, optionally, to a particular user or identity entity (in any namespace). Use this to hand a narrowly-scoped credential to a browser or downstream service so it never sees your root API key. Only callable with a root API key (sk_*). -
createInvite
Invite a new member to one of your app contexts by email, OR grant an existing member access to an additional app context by inviting their same email again. Idempotent on the combination of context and email: re-inviting the same email into the SAME context rotates the token and resends the invitation rather than creating a duplicate — this requires theusers:randusers:uscopes in addition tousers:c, because resending rotates a credential on an existing invitation and invalidates any link already sent. Without them the collision returns 409 instead, with no invitation details and no change to the outstanding invitation. Inviting the SAME email into a DIFFERENT app context in this tenant, where that email already resolves to an existing member: if that member is active AND already has (or, once accepted, will have) a credential that works for the new context's own identity provider, this immediately grants them access to the new context (no email is sent — there is nothing to accept,emailSentis false) — this additionally requires theusers:rscope (nousers:u, since nothing is mutated), because the response names the existing member's userId, a fact about them your credential could not otherwise learn through this endpoint. If that active member's ONLY existing credential is for a DIFFERENT identity provider than the one the new context uses, a normal, independent invitation is created instead (its own new member id, a real token/accept link) — attaching them silently would leave no way for them to ever actually sign in to that context. If the existing member's original invitation is still pending, this attaches the new context's access to that same outstanding invitation and rotates its token (users:r+users:u, same as an ordinary resend — both the disclosure and the credential rotation apply here). A SUSPENDED member's email does not get new-context access this way — reactivate them explicitly first. Returns HTTP 201 in every one of those cases. Returns 409 if that email already belongs to an active or suspended member of THIS specific app context, already has a PENDING invitation for THIS specific app context, or resolves to an existing member elsewhere in the tenant and your token lacks the additional scope the grant/attach requires (users:r, orusers:r+users:ufor the still-pending case). An email that already has an identity in your OTHER tenant (test vs. live) is not a collision either — it creates an additional, independent membership in this tenant for that same identity. WhensendEmailis false, the response includes the raw token and a ready-to-use accept link so you can deliver the invitation through your own email provider. Requires theusers:cscope — or, for a credential scoped to a single app context, themember-lifecyclecapability plus the matchingprofiles:c/profiles:r/profiles:ugrant(s) in that context, as an equally sufficient alternative to everyusers:c/users:r/users:urequirement in this description. -
createInvite
public VectrosApiHttpResponse<CreateInviteResponse> createInvite(CreateInviteRequest request, RequestOptions requestOptions) Invite a new member to one of your app contexts by email, OR grant an existing member access to an additional app context by inviting their same email again. Idempotent on the combination of context and email: re-inviting the same email into the SAME context rotates the token and resends the invitation rather than creating a duplicate — this requires theusers:randusers:uscopes in addition tousers:c, because resending rotates a credential on an existing invitation and invalidates any link already sent. Without them the collision returns 409 instead, with no invitation details and no change to the outstanding invitation. Inviting the SAME email into a DIFFERENT app context in this tenant, where that email already resolves to an existing member: if that member is active AND already has (or, once accepted, will have) a credential that works for the new context's own identity provider, this immediately grants them access to the new context (no email is sent — there is nothing to accept,emailSentis false) — this additionally requires theusers:rscope (nousers:u, since nothing is mutated), because the response names the existing member's userId, a fact about them your credential could not otherwise learn through this endpoint. If that active member's ONLY existing credential is for a DIFFERENT identity provider than the one the new context uses, a normal, independent invitation is created instead (its own new member id, a real token/accept link) — attaching them silently would leave no way for them to ever actually sign in to that context. If the existing member's original invitation is still pending, this attaches the new context's access to that same outstanding invitation and rotates its token (users:r+users:u, same as an ordinary resend — both the disclosure and the credential rotation apply here). A SUSPENDED member's email does not get new-context access this way — reactivate them explicitly first. Returns HTTP 201 in every one of those cases. Returns 409 if that email already belongs to an active or suspended member of THIS specific app context, already has a PENDING invitation for THIS specific app context, or resolves to an existing member elsewhere in the tenant and your token lacks the additional scope the grant/attach requires (users:r, orusers:r+users:ufor the still-pending case). An email that already has an identity in your OTHER tenant (test vs. live) is not a collision either — it creates an additional, independent membership in this tenant for that same identity. WhensendEmailis false, the response includes the raw token and a ready-to-use accept link so you can deliver the invitation through your own email provider. Requires theusers:cscope — or, for a credential scoped to a single app context, themember-lifecyclecapability plus the matchingprofiles:c/profiles:r/profiles:ugrant(s) in that context, as an equally sufficient alternative to everyusers:c/users:r/users:urequirement in this description. -
resendInvite
Resend an outstanding invitation, identified by its email and app context. Rotates the invitation token and extends its expiry, then (whensendEmailis true) re-delivers the email. Rotating the token invalidates any previously issued link for this invitation, so only the newest link works. The invitee's pending permissions are left unchanged. Because this rotates a credential on an existing invitation, it requires theusers:c,users:randusers:uscopes — or, for a credential scoped to a single app context, themember-lifecyclecapability plus the matchingprofiles:c/profiles:r/profiles:ugrant(s) in that context. -
resendInvite
public VectrosApiHttpResponse<CreateInviteResponse> resendInvite(CreateInviteRequest request, RequestOptions requestOptions) Resend an outstanding invitation, identified by its email and app context. Rotates the invitation token and extends its expiry, then (whensendEmailis true) re-delivers the email. Rotating the token invalidates any previously issued link for this invitation, so only the newest link works. The invitee's pending permissions are left unchanged. Because this rotates a credential on an existing invitation, it requires theusers:c,users:randusers:uscopes — or, for a credential scoped to a single app context, themember-lifecyclecapability plus the matchingprofiles:c/profiles:r/profiles:ugrant(s) in that context. -
assumeToken
Re-mints the presentedst_*scoped token with one or moreidentity.<namespace>values changed — for a caller whose ROLE explicitly grants assuming those values (an invited hr-admin, a multi-org case-handler) and needs to change which value new writes place records under. The request body names one or more namespaces in canonicalscope:<namespace>form, e.g.{"scope:org": "orgB"}— each value must be a plain literal, never a${{ ... }}placeholder. When you name MORE THAN ONE namespace, a single one of your roles must grant all of them together: the combination is never assembled from two different roles, because no role author would have vouched for it.st_*-only — a root API key orssk_*scoped API key gets 403; neither needs this (root already has full authority, and anssk_*'s identity shape is not what this resolves against).Only an original token may assume. A token produced BY this endpoint cannot assume again (403) — every assume starts from the token you exchanged for, so the identity you end up with is always one a single role explicitly granted rather than a combination reached by chaining calls. Keep your original token if you need to switch more than once, or exchange for a new one.
Entitlement is checked LIVE, against your roles as they are right now — not against a copy frozen into your token when it was minted. The requested value must be explicitly granted by a role's
assumablefield for that namespace: a POINT check against the one value requested, and a deliberately separate, explicitly-authored question from what the role'sdata_scopepermits reading or writing. Holding broaddata_scopereach in a namespace does NOT by itself grant assuming any value in it.What is preserved, and what is not. Every clause of your token that does not reference a requested namespace is preserved verbatim, as are all other claims (
partner_user_id,context_id, mint attribution). Clauses that DO reference a requested namespace are kept only if they come from a role that authorized the new value. A role that does not authorize it loses all of its clauses touching that namespace — including any scoped to the value you already held. Assume into a value one role grants and you keep that role's reach, not the reach of roles that never vouched for it.The re-minted token's
expis IDENTICAL to the presented token's — this call can never extend a session's life. A fresh, independently-revocablejtiis stamped on every call, and (except when the presented token predates jti support and has none to chain from) the token also carries aroot_jtirevocation-lineage claim so revoking the token you started from closes every value ever assumed from it. Uses the ordinary Vectros{"message":...}error shape, not the OAuth envelopePOST /v1/auth/token/exchangeuses — this endpoint's caller is always Vectros-SDK code already holding a bearer token, never generic OAuth tooling. -
assumeToken
public VectrosApiHttpResponse<TokenAssumeResponse> assumeToken(Map<String, Object> request, RequestOptions requestOptions) Re-mints the presentedst_*scoped token with one or moreidentity.<namespace>values changed — for a caller whose ROLE explicitly grants assuming those values (an invited hr-admin, a multi-org case-handler) and needs to change which value new writes place records under. The request body names one or more namespaces in canonicalscope:<namespace>form, e.g.{"scope:org": "orgB"}— each value must be a plain literal, never a${{ ... }}placeholder. When you name MORE THAN ONE namespace, a single one of your roles must grant all of them together: the combination is never assembled from two different roles, because no role author would have vouched for it.st_*-only — a root API key orssk_*scoped API key gets 403; neither needs this (root already has full authority, and anssk_*'s identity shape is not what this resolves against).Only an original token may assume. A token produced BY this endpoint cannot assume again (403) — every assume starts from the token you exchanged for, so the identity you end up with is always one a single role explicitly granted rather than a combination reached by chaining calls. Keep your original token if you need to switch more than once, or exchange for a new one.
Entitlement is checked LIVE, against your roles as they are right now — not against a copy frozen into your token when it was minted. The requested value must be explicitly granted by a role's
assumablefield for that namespace: a POINT check against the one value requested, and a deliberately separate, explicitly-authored question from what the role'sdata_scopepermits reading or writing. Holding broaddata_scopereach in a namespace does NOT by itself grant assuming any value in it.What is preserved, and what is not. Every clause of your token that does not reference a requested namespace is preserved verbatim, as are all other claims (
partner_user_id,context_id, mint attribution). Clauses that DO reference a requested namespace are kept only if they come from a role that authorized the new value. A role that does not authorize it loses all of its clauses touching that namespace — including any scoped to the value you already held. Assume into a value one role grants and you keep that role's reach, not the reach of roles that never vouched for it.The re-minted token's
expis IDENTICAL to the presented token's — this call can never extend a session's life. A fresh, independently-revocablejtiis stamped on every call, and (except when the presented token predates jti support and has none to chain from) the token also carries aroot_jtirevocation-lineage claim so revoking the token you started from closes every value ever assumed from it. Uses the ordinary Vectros{"message":...}error shape, not the OAuth envelopePOST /v1/auth/token/exchangeuses — this endpoint's caller is always Vectros-SDK code already holding a bearer token, never generic OAuth tooling. -
exchangeToken
RFC 8693 OAuth 2.0 Token Exchange. Trades a JWT issued by a third-party identity provider you've registered (POST /v1/auth/issuers) for a Vectrosst_*scoped bearer token — no Vectros credential required to call this endpoint. The exchanged token's scope is resolved entirely server-side from the matched user's access profile; this endpoint accepts no caller-supplied scope, resource, or audience parameter (RFC 8693 §2.1'sresource/audience/scopeare not used in v1 — the registered(issuer, audience)pair alone pins the target tenant and app context). On a first-time login (no existing Vectros identity for this subject), two opt-in binding paths exist:invite_token(aPENDINGsub-user invitation), and — if the registration declares one or more self-signup policies —signup_type(a brand-new user is created and bound to the policy's configured role). Ifinvite_tokenis present at all, it is the ONLY path tried — a failed invite never falls through to self-signup. Neither field is required for a subject with an existing identity. If your issuer is registered against more than one app context (each via its own audience),context_idselects which one to target; omit it when your token'saudclaim matches only one registered context — the common case, unaffected by this field. Uses the OAuth-standard error envelope ({"error":..., "error_description":...}, RFC 6749 §5.2), NOT this API's usual{"message":...}shape — its client is generic OAuth tooling, not the Vectros SDK. -
exchangeToken
public VectrosApiHttpResponse<TokenExchangeResponse> exchangeToken(TokenExchangeRequest request, RequestOptions requestOptions) RFC 8693 OAuth 2.0 Token Exchange. Trades a JWT issued by a third-party identity provider you've registered (POST /v1/auth/issuers) for a Vectrosst_*scoped bearer token — no Vectros credential required to call this endpoint. The exchanged token's scope is resolved entirely server-side from the matched user's access profile; this endpoint accepts no caller-supplied scope, resource, or audience parameter (RFC 8693 §2.1'sresource/audience/scopeare not used in v1 — the registered(issuer, audience)pair alone pins the target tenant and app context). On a first-time login (no existing Vectros identity for this subject), two opt-in binding paths exist:invite_token(aPENDINGsub-user invitation), and — if the registration declares one or more self-signup policies —signup_type(a brand-new user is created and bound to the policy's configured role). Ifinvite_tokenis present at all, it is the ONLY path tried — a failed invite never falls through to self-signup. Neither field is required for a subject with an existing identity. If your issuer is registered against more than one app context (each via its own audience),context_idselects which one to target; omit it when your token'saudclaim matches only one registered context — the common case, unaffected by this field. Uses the OAuth-standard error envelope ({"error":..., "error_description":...}, RFC 6749 §5.2), NOT this API's usual{"message":...}shape — its client is generic OAuth tooling, not the Vectros SDK.
-