| Crates.io | nylas-types |
| lib.rs | nylas-types |
| version | 0.1.1 |
| created_at | 2025-12-27 22:22:22.853505+00 |
| updated_at | 2025-12-28 07:08:20.444609+00 |
| description | Type definitions for Nylas API v3 |
| homepage | |
| repository | https://github.com/mqasimca/nylas-rust |
| max_upload_size | |
| id | 2007925 |
| size | 296,250 |
Type definitions for the Nylas API v3.
This crate provides strongly-typed Rust structures for all Nylas API resources, including messages, events, calendars, contacts, and more.
GrantId, MessageId, etc.)EmailAddress, etc.)bytes::BytesAdd this to your Cargo.toml:
[dependencies]
nylas-types = "0.1"
use nylas_types::{GrantId, MessageId, EmailAddress};
// Type-safe IDs prevent mixing up different ID types
let grant_id = GrantId::new("grant_123");
let message_id = MessageId::new("msg_456");
// Validated email addresses
let email = EmailAddress::new("user@example.com")?;
All IDs use the NewType pattern for compile-time safety:
GrantIdMessageIdDraftIdEventIdCalendarIdContactIdFolderIdThreadIdWebhookIdAttachmentIdMessageQueryParams - Query parameters for listing messagesEventQueryParams - Query parameters for listing eventsContactQueryParams - Query parameters for listing contactsThis crate emphasizes type safety:
use nylas_types::{GrantId, MessageId};
let grant_id = GrantId::new("grant_123");
let message_id = MessageId::new("msg_456");
// This won't compile - type safety prevents mixing up IDs!
// let wrong: &MessageId = &grant_id; // ❌ Compile error
Complex types use the builder pattern:
use nylas_types::SendMessageRequest;
let message = SendMessageRequest::builder()
.to("recipient@example.com")
.subject("Hello")
.body("Message body")
.build();
MIT