For the complete documentation index, see llms.txt. This page is also available as Markdown.

End Users

End users are people who consume an account's MCP servers without getting workspace access — they sign in through MCP OAuth, optionally via an external IdP. Use these endpoints to invite end users (singly or in bulk), list and revoke them, inspect the effective MCP access (tools, APIs, prompts, and resources) compiled from their grants, groups, and roles, and read or delete the mcpChild connections that hold the credentials they supplied for connections flagged requiresEndUserCredentials. An end user's access record is an ashare, so editing its grants and suspending it use the /v1/ashares routes shared with workspace users. The account owner is never an end user: owners already have MCP access without an end-user record, the invite refuses the owner's address (owner_self_invite_not_allowed), and the owner never appears in these lists.

End user schema

List end users

get
/v1/endusers

Returns the account's end users with identity fields (email, name, lastSignIn) joined from each user record, plus a computed hasWorkspaceShare flag indicating whether the same person also holds a workspace access record. The account owner is never listed: owners have MCP access without an end-user record, so none exists for them. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
provisionedBystring · enumOptional

Return only end users created by the given provisioning source.

Possible values:
Responses
200

List of end users.

application/json

An end user's access record in the account. End users authenticate through MCP OAuth (optionally via an external IdP) to use MCP servers; they do not get workspace access. The _id is the access-record id, not the user's own id — the user's identity is in _sharedWithUserId.

_idstring · objectIdRead-onlyRequired

Access-record id for this end user in the account.

Example: 68b1c2d3e4f5a6b7c8d9e0f1
_userIdstring · objectIdRead-onlyOptional

Account owner's user id.

Example: 5f8d43a1b9e5a80011a35f2c
_sharedWithUserIdstring · objectIdRead-onlyOptional

The end user's own user id.

Example: 624774a6a7574d3ed9f9a5cc
userTypestring · enumOptional

Distinguishes end-user access records from workspace access records.

Possible values:
provisionedBystring · enumOptional

How this end-user record was created. A SCIM push for a person who already has an invited or JIT record adopts it in place, so the value can change to scim over the record's life. For a SCIM-managed user the identity provider owns the active state and the IdP-sourced group memberships and roles: PUT /v1/ashares/{_ashareId}/disable still toggles disabled, but the identity provider's next push re-applies what it holds — deactivate the person or change their groups in the IdP. Direct resourceGrants and manual memberships are never touched by SCIM.

Possible values:
externalIdstringRead-onlyOptional

Identifier the identity provider uses for this person in its own directory, stored when the record is provisioned through SCIM. Present only when provisionedBy is scim. SCIM matches people by email, not by this value.

Example: 00u1a2b3c4d5e6f7g8h9
_scimIdpConfigIdstring · objectIdRead-onlyOptional

IdP configuration whose SCIM endpoint provisioned this record. Present only when provisionedBy is scim.

Example: 68d1e2f3a4b5c6d7e8f9a0b1
acceptedbooleanOptional

When true, the end user has completed invite setup (or was JIT-provisioned).

dismissedbooleanOptional

When true, the end user has declined the invitation.

disabledbooleanOptional

When true, the end user's access is suspended without deleting the record. Changed only by PUT /v1/ashares/{_ashareId}/disable — a value sent on the update operation is not applied.

_roleIdsstring · objectId[]Optional

Roles assigned directly to this end user.

emailstring · emailRead-onlyOptional

Email address of the end user, joined from the user record.

Example: enduser@example.com
namestringRead-onlyOptional

Display name of the end user, joined from the user record.

Example: Ana Enduser
lastSignInstring · nullableRead-onlyOptional

When the end user last signed in. Null when they have never signed in.

Example: 2026-08-02T17:02:59.370Z
hasWorkspaceSharebooleanRead-onlyOptional

When true, the same person also has an active workspace access record on this account.

createdAtstring · date-timeRead-onlyOptional

Timestamp when the end-user record was created.

Example: 2026-07-01T09:15:32Z
lastModifiedstring · date-timeRead-onlyOptional

Timestamp when the end-user record was last updated.

Example: 2026-08-15T14:30:15Z
get/v1/endusers
GET /v1/endusers HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "_id": "68b1c2d3e4f5a6b7c8d9e0f1",
    "_userId": "5f8d43a1b9e5a80011a35f2c",
    "_sharedWithUserId": "624774a6a7574d3ed9f9a5cc",
    "userType": "end-user",
    "provisionedBy": "invite",
    "accepted": true,
    "dismissed": false,
    "disabled": false,
    "groupMemberships": [
      {
        "_groupId": "68a1b2c3d4e5f6a7b8c9d0e1",
        "source": "manual"
      }
    ],
    "resourceGrants": [
      {
        "resourceType": "mcpServer",
        "_resourceId": "6a1b2c3d4e5f6a7b8c9d0e1f",
        "capabilities": [
          "tool:all"
        ]
      }
    ],
    "_roleIds": [],
    "email": "enduser@example.com",
    "name": "Ana Enduser",
    "lastSignIn": "2026-08-02T17:02:59.370Z",
    "hasWorkspaceShare": false,
    "createdAt": "2026-07-01T09:15:32Z",
    "lastModified": "2026-08-15T14:30:15Z"
  }
]

Invite an end user

post
/v1/endusers/invite

Finds or creates the user by email, creates an end-user access record, applies the requested group memberships and direct grants, and sends an invite email. The account owner cannot be invited as an end user (owner_self_invite_not_allowed): owners already have MCP access without an end-user record, so there is nothing to grant — test end-user access with a different address. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body

Invitation details for a single end user.

emailstring · emailRequired

Email address to invite. Normalized to lowercase and trimmed.

Example: enduser@example.com
namestringOptional

Display name for the invited user. Defaults to the email local-part when omitted.

Example: Ana Enduser
groupIdsstring · objectId[]Optional

Groups to add the end user to as manual memberships.

Responses
201

End user invited.

application/json

Result of a successful single invite.

_userIdstring · objectIdOptional

Account owner's user id.

Example: 5f8d43a1b9e5a80011a35f2c
_ashareIdstring · objectIdOptional

Access-record id of the newly created end user.

Example: 68b1c2d3e4f5a6b7c8d9e0f1
statusstring · enumOptional

Outcome of the invite.

Possible values:
post/v1/endusers/invite
POST /v1/endusers/invite HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 31

{
  "email": "enduser@example.com"
}
{
  "_userId": "5f8d43a1b9e5a80011a35f2c",
  "_ashareId": "68b1c2d3e4f5a6b7c8d9e0f1",
  "status": "invited"
}

Invite end users in bulk

post
/v1/endusers/invite/bulk

Invites 1–100 end users in one request, applying the same optional groupIds and directGrants to every invite. Processing is sequential and partial-success: a failed item never aborts the batch, so the response is HTTP 200 with a per-email result even when some items fail. Only top-level structural errors (missing or non-array emails, more than 100 emails, non-array groupIds/directGrants) return 400. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body

Batch invitation for up to 100 end users. The optional groupIds and directGrants are shared and applied identically to every invite in the batch.

emailsstring · email[] · min: 1 · max: 100Required

Email addresses to invite. Normalized to lowercase, trimmed, and de-duplicated within the batch.

groupIdsstring · objectId[]Optional

Groups added as manual memberships on every created end-user record.

Responses
200

Batch processed, including partial success. One result per input email.

application/json

Batch outcome with one result per input email, in input order. Processing is partial-success — a failed item never aborts the batch.

post/v1/endusers/invite/bulk
POST /v1/endusers/invite/bulk HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 84

{
  "emails": [
    "a@example.com",
    "b@example.com"
  ],
  "groupIds": [
    "68a1b2c3d4e5f6a7b8c9d0e1"
  ]
}
{
  "summary": {
    "total": 2,
    "invited": 1,
    "failed": 1,
    "skipped": 0
  },
  "results": [
    {
      "email": "a@example.com",
      "status": "invited",
      "_userId": "5f8d43a1b9e5a80011a35f2c",
      "_ashareId": "68b1c2d3e4f5a6b7c8d9e0f1"
    },
    {
      "email": "b@example.com",
      "status": "failed",
      "code": "enduser_ashare_exists"
    }
  ]
}

Revoke an end user

delete
/v1/endusers/{_ashareId}

Soft-deletes the end-user access record and clears its group memberships; by the platform contract the mcpChild connections the end user holds on the account are invalidated with it. Any workspace access record the same person holds is unaffected. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_ashareIdstring · objectIdRequired

End-user access-record id (from the end users list).

Responses
204

End user revoked.

No content

delete/v1/endusers/{_ashareId}
DELETE /v1/endusers/{_ashareId} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Get an end user's effective access

get
/v1/endusers/{_ashareId}/effective-access

Compiles the end user's effective MCP server access — tools, APIs, prompts, and file resources — with source attribution: the union of direct grants, group grants, role grants, and permission sets. The result is recomputed on every request rather than cached. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_ashareIdstring · objectIdRequired

End-user access-record id (from the end users list).

Responses
200

Compiled effective access with attribution.

application/json

The compiled MCP access for one end user, with source attribution. Access is the union of the end user's direct grants, group grants, role grants (direct or via groups), and permission sets on the target servers, recompiled on every request.

_ashareIdstring · objectIdRead-onlyOptional

End-user access-record id this compilation applies to.

Example: 68b1c2d3e4f5a6b7c8d9e0f1
_userIdstring · objectIdRead-onlyOptional

The end user's own user id.

Example: 624774a6a7574d3ed9f9a5cc
userTypestring · enumOptional

Type of the access record the compilation was run for.

Possible values:
provisionedBystring · enumOptional

How the end-user record was created.

Possible values:
get/v1/endusers/{_ashareId}/effective-access
GET /v1/endusers/{_ashareId}/effective-access HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "_ashareId": "68b1c2d3e4f5a6b7c8d9e0f1",
  "_userId": "624774a6a7574d3ed9f9a5cc",
  "userType": "end-user",
  "provisionedBy": "invite",
  "groups": [
    {
      "_id": "68a1b2c3d4e5f6a7b8c9d0e1",
      "name": "Finance",
      "source": "manual"
    }
  ],
  "roles": [
    {
      "_id": "68c1d2e3f4a5b6c7d8e9f0a1",
      "name": "Finance tools",
      "via": [
        "group:Finance"
      ]
    }
  ],
  "access": [
    {
      "resourceType": "mcpServer",
      "_resourceId": "6a1b2c3d4e5f6a7b8c9d0e1f",
      "resourceName": "Finance MCP",
      "tools": [
        {
          "_id": "6b2c3d4e5f6a7b8c9d0e1f2a",
          "name": "lookup-invoice",
          "via": [
            "role:Finance tools (group:Finance)"
          ]
        }
      ],
      "deniedTools": [
        {
          "_id": "6b2c3d4e5f6a7b8c9d0e1f2b",
          "name": "post-payment",
          "reason": "Not in any granted permission set or tool grant"
        }
      ],
      "apis": [],
      "deniedApis": [],
      "prompts": [
        {
          "_id": "6b2c3d4e5f6a7b8c9d0e1f2c",
          "name": "summarize_invoice",
          "via": [
            "role:Finance tools (group:Finance)"
          ]
        }
      ],
      "deniedPrompts": [],
      "resources": [],
      "deniedResources": []
    }
  ]
}

Get an end user's connection

get
/v1/endusers/connections/{_connectionId}

Returns one mcpChild connection — the credentials an end user supplied for a connection that an MCP server flagged requiresEndUserCredentials. Credentials are masked as on every connection read; there is no unmasked form. Only children resolve here: a standard connection id answers 404 exactly like an unknown id, and the generic GET /v1/connections/{_id} answers 404 for a child. No MCP server appears in the path because a child is keyed by its parent connection and end user, not by server — discover ids with GET /v1/mcpservers/{_id}/connections?connectionRole=mcpChild. On the returned document _userId is the end user who owns it and _mcpOwnerId is the account. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_connectionIdstring · objectIdRequired

Id of the mcpChild connection.

Example: 6ab1f0a15af4c5a3ea6b0c31
Responses
200

The mcpChild connection, credentials masked.

application/json

Connection object as returned by the API.

_idstring · objectIdRead-onlyRequired

Unique identifier for the resource. Format is a 24-character hexadecimal string.

Example: 5f8d43a1b9e5a80011a35f2c
createdAtstring · date-timeRead-onlyRequired

Timestamp when the resource was created. Set automatically and cannot be modified.

Example: 2023-04-01T09:15:32Z
lastModifiedstring · date-timeRead-onlyRequired

Timestamp when the resource was last updated. Changes whenever any property is modified.

Example: 2023-04-15T14:30:15Z
deletedAtstring · nullableRead-onlyOptional

Timestamp when the resource was soft-deleted. When null or absent, the resource is active.

Example: 2023-05-20T11:45:32Z
_integrationIdstring · objectIdRead-onlyOptional

Reference to the specific integration instance that contains this resource.

This field is only populated for resources that are part of an integration app installation. It contains the unique identifier (_id) of the integration resource that was installed in the account.

The integration instance represents a specific installed instance of an integration app, with its own configuration, settings, and runtime environment.

This reference enables:

  • Tracing the resource back to its parent integration instance
  • Permission and access control based on integration ownership
  • Lifecycle management (enabling/disabling, updating, or uninstalling)
Example: 5f9a7b2c3d4e5f6a7b8c9d0e
_connectorIdstring · objectIdRead-onlyOptional

Reference to the integration app that defines this resource.

This field is only populated for resources that are part of an integration app. It contains the unique identifier (_id) of the integration app (connector) that defines the structure, behavior, and templates for this resource.

The integration app is the published template that can be installed multiple times across different accounts, with each installation creating a separate integration instance (referenced by _integrationId).

This reference enables:

  • Identifying the source integration app for this resource
  • Determining which template version is being used
  • Linking to documentation, support, and marketplace information
Example: 5e8d43a1b9e5a80011a35f1b
namestring · max: 100Required

Display name for the connection.

Example: Salesforce Production
typestring · enumRequired

The type of connection determining which authentication and connectivity options are available

Possible values:
externalIdstringOptional

External identifier for the connection, often used for integration with third-party systems

Example: erp-conn-001
assistantstringOptional

Application name in lowercase for HTTP connections to systems with integrator.io adaptors. Used to identify the target application being connected to. Examples - Shopify: "shopify", eBay: "ebay". Only applicable for HTTP connection types.

Example: shopify
_agentIdstring · objectIdOptional

Reference to a Celigo on-premise Agent. Required for connection types that need local network or filesystem access (JDBC, filesystem, Oracle RDBMS, and on-premise MongoDB). The agent establishes a secure tunnel between the on-premise environment and integrator.io.

Example: 5f8d43a1b9e5a80011a35f2c
_borrowConcurrencyFromConnectionIdstring · objectIdOptional

Reference to another connection to share concurrency limits with. When set, this connection's traffic counts against the referenced connection's limit instead of its own, and its own concurrency and auto-recovery settings have no effect. One level only: the referenced connection may not itself borrow, and a connection that others borrow from cannot start borrowing.

Example: 615dfa0742763671275b70ab
debugDatestring · date-timeOptional

Date until which debug logging is enabled for this connection

Example: 2026-01-15T09:30:00.000Z
settingsFormobjectOptional

Dynamic form configuration for connection-specific settings

settingsobjectOptional

Connection-specific settings and configurations

offlinebooleanRead-onlyOptional

When true, the connection has been taken offline and is skipped during flow execution.

_sourceIdstring · objectIdRead-onlyOptional

Source connection this was cloned from.

Example: 5f29dbc69e8a0f0e29a491b7
connectionRolestring · enumRead-onlyOptional

Distinguishes account-owned connections from the per-end-user credential copies MCP servers collect. Absent on connections last saved before the field existed, which behave as standard. Sending mcpChild on POST or PUT /v1/connections fails with 422 mcp_child_generic_route_not_allowed, and /connectionRole is not a patchable path; child connections are written only by the MCP end-user setup page, never through /v1.

Example: standardPossible values:
endUserProvidedFieldsstring[]Optional

Dot-paths of this connection's fields (for example http.encrypted.apiKey or rdbms.user) that each MCP end user must supply on their own mcpChild copy instead of inheriting the parent's value. Only returned on a standard connection that has paths set; never returned on a child. Writable through POST, PUT, and PATCH; by the platform contract, a write that changes the list invalidates the children end users already hold against this parent.

Example: ["http.encrypted.apiKey","http.unencrypted.accountId"]
_parentConnectionIdstring · objectIdRead-onlyOptional

Parent connection this child copies its non-credential configuration from. Present only when connectionRole is mcpChild; set by the end-user setup page and ignored when sent on a standard connection.

Example: 615dfa0742763671275b70ab
_mcpOwnerIdstring · objectIdRead-onlyOptional

Account owner whose parent connection and MCP servers this child belongs to. Present only when connectionRole is mcpChild; on a child, _userId is the end user and this field is the account.

Example: 5d2e1f0a9b8c7d6e5f4a3b2c
_parentSyncedAtstring · date-timeRead-onlyOptional

Timestamp when the child's non-credential fields were last synced from the parent connection. Present only when connectionRole is mcpChild.

Example: 2026-09-15T18:42:10.331Z
_userIdstring · objectIdRead-onlyOptional

End user who owns this mcpChild connection's credentials. Present only when connectionRole is mcpChild; a standard connection belongs to the account and omits this field.

Example: 5d2e1f0a9b8c7d6e5f4a3b2c
debugUntilstring · date-timeRead-onlyOptional

Debug logging is active until this timestamp. Absent or in the past means debug is off.

Example: 2026-01-15T09:30:00.000Z
encryptedstringRead-onlyOptional

Masked placeholder for encrypted credential fields. Always returns "******".

isHTTPbooleanRead-onlyOptional

When true, the connection uses the HTTP adaptor internally, even when type is wrapper.

autoRecoverRateLimitErrorsbooleanOptional

When true, rate-limit errors from the target system trigger automatic recovery: concurrency drops to 1, the rate-limited requests are retried with doubling waits (1 to 1024 minutes, after which the flag switches itself off), and concurrency climbs back toward targetConcurrencyLevel. While true, targetConcurrencyLevel is the throughput lever: a concurrencyLevel sent in a PUT is ignored, and one sent in a PATCH is stored but the recovery machinery moves it back toward the target.

Default: true
enableMicroBatchForOneToManybooleanOptional

When true, enables micro-batching for one-to-many data flows through this connection.

Default: true
enableCsvObjectParsingbooleanOptional

When true, enables CSV-to-object parsing for data received through this connection.

Default: true
get/v1/endusers/connections/{_connectionId}
GET /v1/endusers/connections/{_connectionId} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "_id": "6ab1f0a15af4c5a3ea6b0c31",
  "name": "Partner order API",
  "type": "http",
  "connectionRole": "mcpChild",
  "_parentConnectionId": "6ab1ebb94db5688fd8c7189f",
  "_mcpOwnerId": "624cb0346309dc3a543733a2",
  "_userId": "6aacb5cd76dd63f8209a4c66",
  "_parentSyncedAt": "2026-09-22T02:45:14.550Z",
  "http": {
    "formType": "http",
    "mediaType": "json",
    "baseURI": "https://api.partner.example.com"
  },
  "createdAt": "2026-09-22T04:10:02.117Z",
  "lastModified": "2026-09-22T04:10:02.117Z"
}

Delete an end user's connection

delete
/v1/endusers/connections/{_connectionId}

Soft-deletes one mcpChild connection, so the end user must connect again before using tools that run through its parent. This is the only delete path for a child — the generic connection routes answer 404 for one — and, by the platform contract, a deleted child is not restorable from the recycle bin. A standard connection id answers 404 exactly like an unknown id. Requires account owner or administrator access; the end user who owns the child cannot call it.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_connectionIdstring · objectIdRequired

Id of the mcpChild connection.

Example: 6ab1f0a15af4c5a3ea6b0c31
Responses
204

Connection deleted.

No content

delete/v1/endusers/connections/{_connectionId}
DELETE /v1/endusers/connections/{_connectionId} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Update an end user's access

put
/v1/ashares/{_ashareId}

Replaces the end user's group memberships and direct resource grants with the arrays sent. Works on invited end users before they accept. disabled is not applied here — use PUT /v1/ashares/{_ashareId}/disable.

An end user's access record is an ashare, so this is the same route as the workspace-user update in the Users API, with this body instead of the workspace fields. GET /v1/ashares/{_id} does not return end-user records — read them from GET /v1/endusers.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_ashareIdstring · objectIdRequired

End-user access-record id (from the end users list).

Body

Replacement access for an end user. Both arrays are stored as sent, so each must carry every entry to keep, not just the changes.

Responses
200

The updated access record as stored. The identity fields the list joins in (email, name, lastSignIn) and hasWorkspaceShare are not included, and empty arrays may be omitted.

application/json

An end user's access record in the account. End users authenticate through MCP OAuth (optionally via an external IdP) to use MCP servers; they do not get workspace access. The _id is the access-record id, not the user's own id — the user's identity is in _sharedWithUserId.

_idstring · objectIdRead-onlyRequired

Access-record id for this end user in the account.

Example: 68b1c2d3e4f5a6b7c8d9e0f1
_userIdstring · objectIdRead-onlyOptional

Account owner's user id.

Example: 5f8d43a1b9e5a80011a35f2c
_sharedWithUserIdstring · objectIdRead-onlyOptional

The end user's own user id.

Example: 624774a6a7574d3ed9f9a5cc
userTypestring · enumOptional

Distinguishes end-user access records from workspace access records.

Possible values:
provisionedBystring · enumOptional

How this end-user record was created. A SCIM push for a person who already has an invited or JIT record adopts it in place, so the value can change to scim over the record's life. For a SCIM-managed user the identity provider owns the active state and the IdP-sourced group memberships and roles: PUT /v1/ashares/{_ashareId}/disable still toggles disabled, but the identity provider's next push re-applies what it holds — deactivate the person or change their groups in the IdP. Direct resourceGrants and manual memberships are never touched by SCIM.

Possible values:
externalIdstringRead-onlyOptional

Identifier the identity provider uses for this person in its own directory, stored when the record is provisioned through SCIM. Present only when provisionedBy is scim. SCIM matches people by email, not by this value.

Example: 00u1a2b3c4d5e6f7g8h9
_scimIdpConfigIdstring · objectIdRead-onlyOptional

IdP configuration whose SCIM endpoint provisioned this record. Present only when provisionedBy is scim.

Example: 68d1e2f3a4b5c6d7e8f9a0b1
acceptedbooleanOptional

When true, the end user has completed invite setup (or was JIT-provisioned).

dismissedbooleanOptional

When true, the end user has declined the invitation.

disabledbooleanOptional

When true, the end user's access is suspended without deleting the record. Changed only by PUT /v1/ashares/{_ashareId}/disable — a value sent on the update operation is not applied.

_roleIdsstring · objectId[]Optional

Roles assigned directly to this end user.

emailstring · emailRead-onlyOptional

Email address of the end user, joined from the user record.

Example: enduser@example.com
namestringRead-onlyOptional

Display name of the end user, joined from the user record.

Example: Ana Enduser
lastSignInstring · nullableRead-onlyOptional

When the end user last signed in. Null when they have never signed in.

Example: 2026-08-02T17:02:59.370Z
hasWorkspaceSharebooleanRead-onlyOptional

When true, the same person also has an active workspace access record on this account.

createdAtstring · date-timeRead-onlyOptional

Timestamp when the end-user record was created.

Example: 2026-07-01T09:15:32Z
lastModifiedstring · date-timeRead-onlyOptional

Timestamp when the end-user record was last updated.

Example: 2026-08-15T14:30:15Z
put/v1/ashares/{_ashareId}
PUT /v1/ashares/{_ashareId} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "groupMemberships": [
    {
      "_groupId": "68a1b2c3d4e5f6a7b8c9d0e1",
      "source": "manual"
    }
  ],
  "resourceGrants": []
}
{
  "_id": "68b1c2d3e4f5a6b7c8d9e0f1",
  "_sharedWithUserId": "624774a6a7574d3ed9f9a5cc",
  "userType": "end-user",
  "provisionedBy": "invite",
  "accepted": true,
  "groupMemberships": [
    {
      "_groupId": "68a1b2c3d4e5f6a7b8c9d0e1",
      "source": "manual"
    }
  ],
  "createdAt": "2026-07-01T09:15:32Z",
  "lastModified": "2026-08-15T14:30:15Z"
}

Toggle an end user's access

put
/v1/ashares/{_ashareId}/disable

Toggles the disabled flag on the end user's access record — call again to restore access; there is no separate /enable path. Unlike the workspace toggle, this also works on invited end users who have not yet accepted. Shares its route with the workspace-user toggle in the Users API.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_ashareIdstring · objectIdRequired

End-user access-record id (from the end users list).

Body
objectOptional

Empty body — the target is identified by the path parameter alone.

Responses
204

End-user access toggled.

No content

put/v1/ashares/{_ashareId}/disable
PUT /v1/ashares/{_ashareId}/disable HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2

{}

No content

Last updated

Was this helpful?