Fresh start - excluded large ROM JSON files
This commit is contained in:
238
skills/api-gateway/references/outlook.md
Normal file
238
skills/api-gateway/references/outlook.md
Normal file
@@ -0,0 +1,238 @@
|
||||
# Outlook Routing Reference
|
||||
|
||||
**App name:** `outlook`
|
||||
**Base URL proxied:** `graph.microsoft.com`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/outlook/v1.0/me/{resource}
|
||||
```
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### User Profile
|
||||
```bash
|
||||
GET /outlook/v1.0/me
|
||||
```
|
||||
|
||||
### Mail Folders
|
||||
|
||||
#### List Mail Folders
|
||||
```bash
|
||||
GET /outlook/v1.0/me/mailFolders
|
||||
```
|
||||
|
||||
Well-known folder names: `Inbox`, `Drafts`, `SentItems`, `DeletedItems`, `Archive`, `JunkEmail`
|
||||
|
||||
#### Get Mail Folder
|
||||
```bash
|
||||
GET /outlook/v1.0/me/mailFolders/{folderId}
|
||||
```
|
||||
|
||||
#### Create Mail Folder
|
||||
```bash
|
||||
POST /outlook/v1.0/me/mailFolders
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"displayName": "My Folder"
|
||||
}
|
||||
```
|
||||
|
||||
### Messages
|
||||
|
||||
#### List Messages
|
||||
```bash
|
||||
GET /outlook/v1.0/me/messages
|
||||
```
|
||||
|
||||
From specific folder:
|
||||
```bash
|
||||
GET /outlook/v1.0/me/mailFolders/Inbox/messages
|
||||
```
|
||||
|
||||
With filter:
|
||||
```bash
|
||||
GET /outlook/v1.0/me/messages?$filter=isRead eq false&$top=10
|
||||
```
|
||||
|
||||
#### Get Message
|
||||
```bash
|
||||
GET /outlook/v1.0/me/messages/{messageId}
|
||||
```
|
||||
|
||||
#### Send Message
|
||||
```bash
|
||||
POST /outlook/v1.0/me/sendMail
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"message": {
|
||||
"subject": "Hello",
|
||||
"body": {
|
||||
"contentType": "Text",
|
||||
"content": "This is the email body."
|
||||
},
|
||||
"toRecipients": [
|
||||
{
|
||||
"emailAddress": {
|
||||
"address": "recipient@example.com"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"saveToSentItems": true
|
||||
}
|
||||
```
|
||||
|
||||
#### Create Draft
|
||||
```bash
|
||||
POST /outlook/v1.0/me/messages
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"subject": "Hello",
|
||||
"body": {
|
||||
"contentType": "Text",
|
||||
"content": "This is the email body."
|
||||
},
|
||||
"toRecipients": [
|
||||
{
|
||||
"emailAddress": {
|
||||
"address": "recipient@example.com"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### Send Existing Draft
|
||||
```bash
|
||||
POST /outlook/v1.0/me/messages/{messageId}/send
|
||||
```
|
||||
|
||||
#### Update Message (Mark as Read)
|
||||
```bash
|
||||
PATCH /outlook/v1.0/me/messages/{messageId}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"isRead": true
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete Message
|
||||
```bash
|
||||
DELETE /outlook/v1.0/me/messages/{messageId}
|
||||
```
|
||||
|
||||
#### Move Message
|
||||
```bash
|
||||
POST /outlook/v1.0/me/messages/{messageId}/move
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"destinationId": "{folderId}"
|
||||
}
|
||||
```
|
||||
|
||||
### Calendar
|
||||
|
||||
#### List Calendars
|
||||
```bash
|
||||
GET /outlook/v1.0/me/calendars
|
||||
```
|
||||
|
||||
#### List Events
|
||||
```bash
|
||||
GET /outlook/v1.0/me/calendar/events
|
||||
```
|
||||
|
||||
With filter:
|
||||
```bash
|
||||
GET /outlook/v1.0/me/calendar/events?$filter=start/dateTime ge '2024-01-01'&$top=10
|
||||
```
|
||||
|
||||
#### Create Event
|
||||
```bash
|
||||
POST /outlook/v1.0/me/calendar/events
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"subject": "Meeting",
|
||||
"start": {
|
||||
"dateTime": "2024-01-15T10:00:00",
|
||||
"timeZone": "UTC"
|
||||
},
|
||||
"end": {
|
||||
"dateTime": "2024-01-15T11:00:00",
|
||||
"timeZone": "UTC"
|
||||
},
|
||||
"attendees": [
|
||||
{
|
||||
"emailAddress": {
|
||||
"address": "attendee@example.com"
|
||||
},
|
||||
"type": "required"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete Event
|
||||
```bash
|
||||
DELETE /outlook/v1.0/me/events/{eventId}
|
||||
```
|
||||
|
||||
### Contacts
|
||||
|
||||
#### List Contacts
|
||||
```bash
|
||||
GET /outlook/v1.0/me/contacts
|
||||
```
|
||||
|
||||
#### Create Contact
|
||||
```bash
|
||||
POST /outlook/v1.0/me/contacts
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"givenName": "John",
|
||||
"surname": "Doe",
|
||||
"emailAddresses": [
|
||||
{
|
||||
"address": "john.doe@example.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete Contact
|
||||
```bash
|
||||
DELETE /outlook/v1.0/me/contacts/{contactId}
|
||||
```
|
||||
|
||||
## OData Query Parameters
|
||||
|
||||
- `$top=10` - Limit results
|
||||
- `$skip=20` - Skip results (pagination)
|
||||
- `$select=subject,from` - Select specific fields
|
||||
- `$filter=isRead eq false` - Filter results
|
||||
- `$orderby=receivedDateTime desc` - Sort results
|
||||
- `$search="keyword"` - Search content
|
||||
|
||||
## Notes
|
||||
|
||||
- Use `me` as the user identifier for the authenticated user
|
||||
- Message body content types: `Text` or `HTML`
|
||||
- Well-known folder names work as folder IDs: `Inbox`, `Drafts`, `SentItems`, etc.
|
||||
- Calendar events use ISO 8601 datetime format
|
||||
|
||||
## Resources
|
||||
|
||||
- [Microsoft Graph API Overview](https://learn.microsoft.com/en-us/graph/api/overview)
|
||||
- [Mail API](https://learn.microsoft.com/en-us/graph/api/resources/mail-api-overview)
|
||||
- [Calendar API](https://learn.microsoft.com/en-us/graph/api/resources/calendar)
|
||||
- [Contacts API](https://learn.microsoft.com/en-us/graph/api/resources/contact)
|
||||
- [Query Parameters](https://learn.microsoft.com/en-us/graph/query-parameters)
|
||||
Reference in New Issue
Block a user