Skip to content

Get guest

Endpoint

GET /organizations/{org_id}/guests/{guest_email}

This endpoint retrieves details for a specific guest, identified by their email address.

Request

Replace {org_id} with your Organization ID and {guest_email} with the URL-encoded email address of the guest (e.g., user%40example.com).

Headers

HeaderValueRequired
AuthorizationBearer {your_access_token}Yes
Acceptapplication/jsonYes
X-Tallyfy-ClientAPIClientYes

Query parameters (optional)

ParameterTypeDescription
withstringInclude extra data. Use stats for guest completion statistics.

Code samples

const accessToken = 'YOUR_PERSONAL_ACCESS_TOKEN';
const orgId = 'YOUR_ORGANIZATION_ID';
const guestEmail = 'guest.to.get@example.com';
const encodedEmail = encodeURIComponent(guestEmail);
const queryParams = '?with=stats';
const apiUrl = `https://go.tallyfy.com/api/organizations/${orgId}/guests/${encodedEmail}${queryParams}`;
const headers = new Headers();
headers.append('Authorization', `Bearer ${accessToken}`);
headers.append('Accept', 'application/json');
headers.append('X-Tallyfy-Client', 'APIClient');
fetch(apiUrl, { method: 'GET', headers })
.then(response => {
return response.json().then(data => {
if (!response.ok) {
console.error(`Failed to get guest ${guestEmail}:`, data);
throw new Error(`HTTP error! status: ${response.status}`);
}
return data;
});
})
.then(data => {
console.log(`Successfully retrieved guest ${guestEmail}:`);
console.log(JSON.stringify(data, null, 2));
})
.catch(error => {
console.error(`Error getting guest ${guestEmail}:`, error.message);
});

Response

A successful request returns a 201 Created status code and a JSON object containing a data property with the guest’s details.

{
"data": {
"id": 1234,
"email": "guest.to.get@example.com",
"last_accessed_at": "2025-05-15T10:00:00Z",
"last_known_ip": "192.168.1.1",
"last_known_country": "US",
"details": {
"status": "active",
"phone_1": "+1234567890",
"phone_2": null,
"timezone": "America/New_York",
"image_url": null,
"contact_url": null,
"company_url": "https://example.com",
"opportunity_url": null,
"company_name": "Guest Company",
"opportunity_name": null,
"external_sync_source": null,
"external_date_creation": null,
"cadence_days": null,
"associated_members": null,
"last_city": "New York",
"last_country": "US",
"last_accessed_at": "2025-05-15T10:00:00Z",
"disabled_at": null,
"disabled_by": null,
"reactivated_at": null,
"reactivated_by": null
},
"first_name": "Specific",
"last_name": "Guest",
"created_at": "2025-01-10T08:30:00Z",
"deleted_at": null,
"link": "https://go.tallyfy.com/...",
"stats": {}
}
}

If the guest email isn’t found or you lack permission, you’ll get a 404 Not Found or 403 Forbidden error.


Guests > List guests

Tallyfy’s API lets you retrieve a paginated and filterable list of external guest users in your organization through a GET request that supports search by email and optional completion statistics and returns detailed guest profiles including access history and task performance data.

Guests > Delete guest

Tallyfy’s DELETE endpoint at /organizations/[org_id]/guests/[guest_email] removes a guest by their URL-encoded email address and detaches them from all tasks and the organization while soft-deleting the record if they have no other org memberships.

Code Samples > Managing guests

Tallyfy’s API lets you manage external guest users—who participate in tasks without full accounts—by creating listing retrieving updating and deleting them using their URL-encoded email address as the identifier across organization-scoped endpoints.

Guests > Create guest

Tallyfy’s API lets you add external guests to your organization via a POST request with just an email address (plus optional profile fields like name and company) and it automatically links existing global guests instead of creating duplicates.