AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
@@ -90,6 +90,7 @@ Content-Type: application/json
|
||||
"data": {
|
||||
"content": "Task description",
|
||||
"format": "plaintext",
|
||||
"deadline_at": null,
|
||||
"assignees": [],
|
||||
"linked_records": []
|
||||
}
|
||||
@@ -106,14 +107,182 @@ GET /attio/v2/workspace_members
|
||||
GET /attio/v2/self
|
||||
```
|
||||
|
||||
## Notes
|
||||
### Notes
|
||||
|
||||
#### List Notes
|
||||
```bash
|
||||
GET /attio/v2/notes?limit=50&parent_object={object}&parent_record_id={record_id}
|
||||
```
|
||||
|
||||
#### Get Note
|
||||
```bash
|
||||
GET /attio/v2/notes/{note_id}
|
||||
```
|
||||
|
||||
#### Create Note
|
||||
```bash
|
||||
POST /attio/v2/notes
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"data": {
|
||||
"format": "plaintext",
|
||||
"title": "Meeting Summary",
|
||||
"content": "Note content here",
|
||||
"parent_object": "companies",
|
||||
"parent_record_id": "{record_id}",
|
||||
"created_by_actor": {
|
||||
"type": "workspace-member",
|
||||
"id": "{workspace_member_id}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete Note
|
||||
```bash
|
||||
DELETE /attio/v2/notes/{note_id}
|
||||
```
|
||||
|
||||
### Comments
|
||||
|
||||
#### Create Comment on Record
|
||||
```bash
|
||||
POST /attio/v2/comments
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"data": {
|
||||
"format": "plaintext",
|
||||
"content": "Comment text",
|
||||
"author": {
|
||||
"type": "workspace-member",
|
||||
"id": "{workspace_member_id}"
|
||||
},
|
||||
"record": {
|
||||
"object": "companies",
|
||||
"record_id": "{record_id}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Reply to Comment Thread
|
||||
```bash
|
||||
POST /attio/v2/comments
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"data": {
|
||||
"format": "plaintext",
|
||||
"content": "This is a reply",
|
||||
"author": {
|
||||
"type": "workspace-member",
|
||||
"id": "{workspace_member_id}"
|
||||
},
|
||||
"thread_id": "{thread_id}"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Lists
|
||||
|
||||
#### List All Lists
|
||||
```bash
|
||||
GET /attio/v2/lists
|
||||
```
|
||||
|
||||
#### Get List
|
||||
```bash
|
||||
GET /attio/v2/lists/{list_id}
|
||||
```
|
||||
|
||||
### List Entries
|
||||
|
||||
#### Query List Entries
|
||||
```bash
|
||||
POST /attio/v2/lists/{list}/entries/query
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"limit": 50,
|
||||
"offset": 0
|
||||
}
|
||||
```
|
||||
|
||||
#### Create List Entry
|
||||
```bash
|
||||
POST /attio/v2/lists/{list}/entries
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"data": {
|
||||
"parent_record_id": "{record_id}",
|
||||
"parent_object": "companies",
|
||||
"entry_values": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Get List Entry
|
||||
```bash
|
||||
GET /attio/v2/lists/{list}/entries/{entry_id}
|
||||
```
|
||||
|
||||
#### Update List Entry
|
||||
```bash
|
||||
PATCH /attio/v2/lists/{list}/entries/{entry_id}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"data": {
|
||||
"entry_values": {
|
||||
"status": "Active"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete List Entry
|
||||
```bash
|
||||
DELETE /attio/v2/lists/{list}/entries/{entry_id}
|
||||
```
|
||||
|
||||
### Meetings
|
||||
|
||||
#### List Meetings
|
||||
```bash
|
||||
GET /attio/v2/meetings?limit=50
|
||||
```
|
||||
|
||||
#### Get Meeting
|
||||
```bash
|
||||
GET /attio/v2/meetings/{meeting_id}
|
||||
```
|
||||
|
||||
### Call Recordings
|
||||
|
||||
#### List Call Recordings for Meeting
|
||||
```bash
|
||||
GET /attio/v2/meetings/{meeting_id}/call_recordings?limit=50
|
||||
```
|
||||
|
||||
#### Get Call Recording
|
||||
```bash
|
||||
GET /attio/v2/meetings/{meeting_id}/call_recordings/{call_recording_id}
|
||||
```
|
||||
|
||||
## Usage Notes
|
||||
|
||||
- Object slugs are lowercase snake_case (e.g., `people`, `companies`)
|
||||
- Record IDs are UUIDs
|
||||
- For personal-name attributes, include `full_name` when creating records
|
||||
- Task creation requires `format` and `assignees` fields
|
||||
- Task creation requires `format`, `deadline_at`, `assignees`, and `linked_records` fields
|
||||
- Note creation requires `format`, `content`, `parent_object`, and `parent_record_id`
|
||||
- Comment creation requires `format`, `content`, `author`, plus one of `record`, `entry`, or `thread_id`
|
||||
- Meetings use cursor-based pagination
|
||||
- Rate limits: 100 read/sec, 25 write/sec
|
||||
- Pagination uses `limit` and `offset` parameters
|
||||
- Pagination uses `limit` and `offset` parameters (or `cursor` for meetings)
|
||||
|
||||
## Resources
|
||||
|
||||
|
||||
@@ -11,11 +11,9 @@
|
||||
|
||||
**Note:** Dropbox Business API uses POST for almost all endpoints, including read operations. Request bodies should be JSON (use `null` for endpoints with no parameters).
|
||||
|
||||
## Common Endpoints
|
||||
## Team Information
|
||||
|
||||
### Team Information
|
||||
|
||||
#### Get Team Info
|
||||
### Get Team Info
|
||||
```bash
|
||||
POST /dropbox-business/2/team/get_info
|
||||
Content-Type: application/json
|
||||
@@ -23,39 +21,72 @@ Content-Type: application/json
|
||||
null
|
||||
```
|
||||
|
||||
#### Get Team Features
|
||||
### Get Team Features
|
||||
```bash
|
||||
POST /dropbox-business/2/team/features/get_values
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"features": [{".tag": "upload_api_rate_limit"}]
|
||||
"features": [
|
||||
{".tag": "upload_api_rate_limit"},
|
||||
{".tag": "has_team_shared_dropbox"},
|
||||
{".tag": "has_team_file_events"},
|
||||
{".tag": "has_team_selective_sync"}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Team Members
|
||||
### Get Authenticated Admin
|
||||
```bash
|
||||
POST /dropbox-business/2/team/token/get_authenticated_admin
|
||||
Content-Type: application/json
|
||||
|
||||
#### List Members
|
||||
null
|
||||
```
|
||||
|
||||
## Team Members
|
||||
|
||||
### List Members
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/list
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"limit": 100
|
||||
}
|
||||
{"limit": 100}
|
||||
```
|
||||
|
||||
#### Get Member Info
|
||||
### List Members (V2) - Recommended
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/list_v2
|
||||
Content-Type: application/json
|
||||
|
||||
{"limit": 100, "include_removed": false}
|
||||
```
|
||||
|
||||
### Continue Listing Members
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/list/continue
|
||||
Content-Type: application/json
|
||||
|
||||
{"cursor": "..."}
|
||||
```
|
||||
|
||||
### Get Member Info
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/get_info
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"members": [{".tag": "email", "email": "user@company.com"}]
|
||||
}
|
||||
{"members": [{".tag": "email", "email": "user@company.com"}]}
|
||||
```
|
||||
|
||||
#### Add Member
|
||||
### Get Member Info (V2) - Recommended
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/get_info_v2
|
||||
Content-Type: application/json
|
||||
|
||||
{"members": [{".tag": "email", "email": "user@company.com"}]}
|
||||
```
|
||||
|
||||
### Add Member
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/add
|
||||
Content-Type: application/json
|
||||
@@ -64,24 +95,152 @@ Content-Type: application/json
|
||||
"new_members": [{
|
||||
"member_email": "user@company.com",
|
||||
"member_given_name": "John",
|
||||
"member_surname": "Doe"
|
||||
"member_surname": "Doe",
|
||||
"send_welcome_email": true
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
### Groups
|
||||
### Suspend Member
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/suspend
|
||||
Content-Type: application/json
|
||||
|
||||
#### List Groups
|
||||
{"user": {".tag": "email", "email": "user@company.com"}, "wipe_data": false}
|
||||
```
|
||||
|
||||
### Unsuspend Member
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/unsuspend
|
||||
Content-Type: application/json
|
||||
|
||||
{"user": {".tag": "email", "email": "user@company.com"}}
|
||||
```
|
||||
|
||||
### Remove Member
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/remove
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"user": {".tag": "email", "email": "user@company.com"},
|
||||
"wipe_data": true,
|
||||
"transfer_dest_id": {".tag": "email", "email": "admin@company.com"},
|
||||
"transfer_admin_id": {".tag": "email", "email": "admin@company.com"},
|
||||
"keep_account": false
|
||||
}
|
||||
```
|
||||
|
||||
### Send Welcome Email
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/send_welcome_email
|
||||
Content-Type: application/json
|
||||
|
||||
{".tag": "email", "email": "pending@company.com"}
|
||||
```
|
||||
|
||||
### Set Member Profile (V2)
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/set_profile_v2
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"user": {".tag": "team_member_id", "team_member_id": "dbmid:AAA..."},
|
||||
"new_given_name": "John",
|
||||
"new_surname": "Smith"
|
||||
}
|
||||
```
|
||||
|
||||
### Set Admin Permissions (V2)
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/set_admin_permissions_v2
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"user": {".tag": "email", "email": "user@company.com"},
|
||||
"new_roles": ["pid_dbtmr:..."]
|
||||
}
|
||||
```
|
||||
|
||||
### Delete Profile Photo (V2)
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/delete_profile_photo_v2
|
||||
Content-Type: application/json
|
||||
|
||||
{"user": {".tag": "team_member_id", "team_member_id": "dbmid:AAA..."}}
|
||||
```
|
||||
|
||||
## Secondary Emails
|
||||
|
||||
### Add Secondary Emails
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/secondary_emails/add
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"new_secondary_emails": [{
|
||||
"user": {".tag": "email", "email": "user@company.com"},
|
||||
"secondary_emails": ["alias@company.com"]
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
### Delete Secondary Emails
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/secondary_emails/delete
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"emails_to_delete": [{
|
||||
"user": {".tag": "email", "email": "user@company.com"},
|
||||
"secondary_emails": ["alias@company.com"]
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
### Resend Verification Emails
|
||||
```bash
|
||||
POST /dropbox-business/2/team/members/secondary_emails/resend_verification_emails
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"emails_to_resend": [{
|
||||
"user": {".tag": "email", "email": "user@company.com"},
|
||||
"secondary_emails": ["alias@company.com"]
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
## Groups
|
||||
|
||||
### List Groups
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/list
|
||||
Content-Type: application/json
|
||||
|
||||
{"limit": 100}
|
||||
```
|
||||
|
||||
### Get Group Info
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/get_info
|
||||
Content-Type: application/json
|
||||
|
||||
{".tag": "group_ids", "group_ids": ["g:1d31f47b..."]}
|
||||
```
|
||||
|
||||
### List Group Members
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/members/list
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
||||
"limit": 100
|
||||
}
|
||||
```
|
||||
|
||||
#### Create Group
|
||||
### Create Group
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/create
|
||||
Content-Type: application/json
|
||||
@@ -92,43 +251,136 @@ Content-Type: application/json
|
||||
}
|
||||
```
|
||||
|
||||
### Team Folders
|
||||
### Update Group
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/update
|
||||
Content-Type: application/json
|
||||
|
||||
#### List Team Folders
|
||||
{
|
||||
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
||||
"new_group_name": "New Name"
|
||||
}
|
||||
```
|
||||
|
||||
### Add Members to Group
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/members/add
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
||||
"members": [{"user": {".tag": "email", "email": "user@company.com"}, "access_type": {".tag": "member"}}],
|
||||
"return_members": true
|
||||
}
|
||||
```
|
||||
|
||||
### Remove Members from Group
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/members/remove
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
||||
"users": [{".tag": "email", "email": "user@company.com"}],
|
||||
"return_members": true
|
||||
}
|
||||
```
|
||||
|
||||
### Delete Group
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/delete
|
||||
Content-Type: application/json
|
||||
|
||||
{".tag": "group_id", "group_id": "g:1d31f47b..."}
|
||||
```
|
||||
|
||||
### Check Group Job Status
|
||||
```bash
|
||||
POST /dropbox-business/2/team/groups/job_status/get
|
||||
Content-Type: application/json
|
||||
|
||||
{"async_job_id": "dbjid:..."}
|
||||
```
|
||||
|
||||
## Team Folders
|
||||
|
||||
### List Team Folders
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/list
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"limit": 100
|
||||
}
|
||||
{"limit": 100}
|
||||
```
|
||||
|
||||
#### Create Team Folder
|
||||
### Get Team Folder Info
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/get_info
|
||||
Content-Type: application/json
|
||||
|
||||
{"team_folder_ids": ["13646676387"]}
|
||||
```
|
||||
|
||||
### Create Team Folder
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/create
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "Folder Name"
|
||||
}
|
||||
{"name": "Folder Name", "sync_setting": {".tag": "default"}}
|
||||
```
|
||||
|
||||
### Namespaces
|
||||
### Rename Team Folder
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/rename
|
||||
Content-Type: application/json
|
||||
|
||||
#### List Namespaces
|
||||
{"team_folder_id": "13646676387", "name": "New Name"}
|
||||
```
|
||||
|
||||
### Archive Team Folder
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/archive
|
||||
Content-Type: application/json
|
||||
|
||||
{"team_folder_id": "13646676387", "force_async_off": false}
|
||||
```
|
||||
|
||||
### Activate Team Folder
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/activate
|
||||
Content-Type: application/json
|
||||
|
||||
{"team_folder_id": "13646676387"}
|
||||
```
|
||||
|
||||
### Update Sync Settings
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/update_sync_settings
|
||||
Content-Type: application/json
|
||||
|
||||
{"team_folder_id": "13646676387", "sync_setting": {".tag": "default"}}
|
||||
```
|
||||
|
||||
### Permanently Delete Team Folder
|
||||
```bash
|
||||
POST /dropbox-business/2/team/team_folder/permanently_delete
|
||||
Content-Type: application/json
|
||||
|
||||
{"team_folder_id": "13646676387"}
|
||||
```
|
||||
|
||||
## Namespaces
|
||||
|
||||
### List Namespaces
|
||||
```bash
|
||||
POST /dropbox-business/2/team/namespaces/list
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"limit": 100
|
||||
}
|
||||
{"limit": 100}
|
||||
```
|
||||
|
||||
### Devices
|
||||
## Devices
|
||||
|
||||
#### List Members' Devices
|
||||
### List Members' Devices
|
||||
```bash
|
||||
POST /dropbox-business/2/team/devices/list_members_devices
|
||||
Content-Type: application/json
|
||||
@@ -136,16 +388,147 @@ Content-Type: application/json
|
||||
{}
|
||||
```
|
||||
|
||||
### Audit Log
|
||||
### List Member Devices
|
||||
```bash
|
||||
POST /dropbox-business/2/team/devices/list_member_devices
|
||||
Content-Type: application/json
|
||||
|
||||
#### Get Events
|
||||
{"team_member_id": "dbmid:AAA..."}
|
||||
```
|
||||
|
||||
### Revoke Device Session
|
||||
```bash
|
||||
POST /dropbox-business/2/team/devices/revoke_device_session
|
||||
Content-Type: application/json
|
||||
|
||||
{".tag": "web_session", "session_id": "dbwsid:...", "team_member_id": "dbmid:AAA..."}
|
||||
```
|
||||
|
||||
### Revoke Device Sessions (Batch)
|
||||
```bash
|
||||
POST /dropbox-business/2/team/devices/revoke_device_session_batch
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"revoke_devices": [
|
||||
{".tag": "web_session", "session_id": "dbwsid:...", "team_member_id": "dbmid:AAA..."}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Linked Apps
|
||||
|
||||
### List Members' Linked Apps
|
||||
```bash
|
||||
POST /dropbox-business/2/team/linked_apps/list_members_linked_apps
|
||||
Content-Type: application/json
|
||||
|
||||
{}
|
||||
```
|
||||
|
||||
### List Team Linked Apps
|
||||
```bash
|
||||
POST /dropbox-business/2/team/linked_apps/list_team_linked_apps
|
||||
Content-Type: application/json
|
||||
|
||||
{}
|
||||
```
|
||||
|
||||
### Revoke Linked App
|
||||
```bash
|
||||
POST /dropbox-business/2/team/linked_apps/revoke_linked_app
|
||||
Content-Type: application/json
|
||||
|
||||
{"app_id": "...", "team_member_id": "dbmid:AAA..."}
|
||||
```
|
||||
|
||||
## Member Space Limits
|
||||
|
||||
### Get Custom Quotas
|
||||
```bash
|
||||
POST /dropbox-business/2/team/member_space_limits/get_custom_quota
|
||||
Content-Type: application/json
|
||||
|
||||
{"users": [{".tag": "email", "email": "user@company.com"}]}
|
||||
```
|
||||
|
||||
### Set Custom Quotas
|
||||
```bash
|
||||
POST /dropbox-business/2/team/member_space_limits/set_custom_quota
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"users_and_quotas": [{
|
||||
"user": {".tag": "email", "email": "user@company.com"},
|
||||
"quota_gb": 100
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
### List Excluded Users
|
||||
```bash
|
||||
POST /dropbox-business/2/team/member_space_limits/excluded_users/list
|
||||
Content-Type: application/json
|
||||
|
||||
{}
|
||||
```
|
||||
|
||||
## Sharing Allowlist
|
||||
|
||||
### List Sharing Allowlist
|
||||
```bash
|
||||
POST /dropbox-business/2/team/sharing_allowlist/list
|
||||
Content-Type: application/json
|
||||
|
||||
{}
|
||||
```
|
||||
|
||||
### Add to Sharing Allowlist
|
||||
```bash
|
||||
POST /dropbox-business/2/team/sharing_allowlist/add
|
||||
Content-Type: application/json
|
||||
|
||||
{"domains": ["partner.com"], "emails": ["external@client.com"]}
|
||||
```
|
||||
|
||||
## Audit Log (Team Log)
|
||||
|
||||
### Get Events
|
||||
```bash
|
||||
POST /dropbox-business/2/team_log/get_events
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"limit": 100
|
||||
}
|
||||
{"limit": 100, "category": {".tag": "members"}}
|
||||
```
|
||||
|
||||
### Continue Getting Events
|
||||
```bash
|
||||
POST /dropbox-business/2/team_log/get_events/continue
|
||||
Content-Type: application/json
|
||||
|
||||
{"cursor": "..."}
|
||||
```
|
||||
|
||||
## Member File Access
|
||||
|
||||
Use the `Dropbox-API-Select-User` header with a team_member_id to access files on behalf of a member.
|
||||
|
||||
### List Member's Files
|
||||
```bash
|
||||
POST /dropbox-business/2/files/list_folder
|
||||
Content-Type: application/json
|
||||
Dropbox-API-Select-User: dbmid:AAA...
|
||||
|
||||
{"path": ""}
|
||||
```
|
||||
|
||||
### List Member's Shared Folders
|
||||
```bash
|
||||
POST /dropbox-business/2/sharing/list_folders
|
||||
Content-Type: application/json
|
||||
Dropbox-API-Select-User: dbmid:AAA...
|
||||
|
||||
{}
|
||||
```
|
||||
|
||||
## Notes
|
||||
@@ -154,9 +537,28 @@ Content-Type: application/json
|
||||
- Request bodies must be JSON (use `null` for no-parameter endpoints)
|
||||
- Many fields use `.tag` format for type indication
|
||||
- Pagination uses `cursor` and `has_more` fields
|
||||
- Requires team admin OAuth authorization
|
||||
- Use V2 endpoints for enhanced responses with roles info
|
||||
- `Dropbox-API-Select-User` header enables member file access
|
||||
- System-managed groups cannot be modified
|
||||
- Reports endpoints (`team/reports/*`) are deprecated
|
||||
|
||||
## OAuth Scopes
|
||||
|
||||
| Scope | Usage |
|
||||
|-------|-------|
|
||||
| `team_info.read` | Team info, features |
|
||||
| `members.read` | List/get members |
|
||||
| `members.write` | Add/modify members |
|
||||
| `members.delete` | Remove members |
|
||||
| `groups.read` | List/get groups |
|
||||
| `groups.write` | Create/modify groups |
|
||||
| `sessions.list` | List devices/sessions |
|
||||
| `sessions.modify` | Revoke sessions |
|
||||
| `events.read` | Team audit log |
|
||||
| `team_data.member` | Select-User header |
|
||||
|
||||
## Resources
|
||||
|
||||
- [Dropbox Business API Documentation](https://www.dropbox.com/developers/documentation/http/teams)
|
||||
- [Team Administration Guide](https://developers.dropbox.com/dbx-team-administration-guide)
|
||||
- [Team Files Guide](https://developers.dropbox.com/dbx-team-files-guide)
|
||||
|
||||
@@ -9,10 +9,80 @@
|
||||
/google-merchant/{sub-api}/{version}/accounts/{accountId}/{resource}
|
||||
```
|
||||
|
||||
The Merchant API uses sub-APIs: `products`, `accounts`, `datasources`, `reports`, `promotions`, `inventories`, `notifications`, `conversions`, `lfp`
|
||||
The Merchant API uses sub-APIs: `products`, `accounts`, `datasources`, `reports`, `promotions`, `inventories`, `notifications`, `conversions`
|
||||
|
||||
**Important:** The v1 API requires one-time developer registration per Merchant Center account. Complete the registration steps below before using any endpoints.
|
||||
|
||||
## Developer Registration
|
||||
|
||||
Before using v1 endpoints, you must complete a one-time registration:
|
||||
|
||||
### Step 1: Get Your Account ID
|
||||
|
||||
**Option A: Try fetching via API first**
|
||||
|
||||
Try listing accounts using the v1beta endpoint. If this works, you can get your account ID automatically:
|
||||
|
||||
```bash
|
||||
GET /google-merchant/accounts/v1beta/accounts
|
||||
```
|
||||
|
||||
Response (if successful):
|
||||
```json
|
||||
{
|
||||
"accounts": [
|
||||
{"accountId": "123456789", "accountName": "My Store"}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Option B: From Merchant Center UI (if Option A fails)**
|
||||
|
||||
If the v1beta endpoint is unavailable or returns an error:
|
||||
|
||||
1. Log in to [Google Merchant Center](https://merchants.google.com/)
|
||||
2. Your account ID is in the URL: `https://merchants.google.com/mc/overview?a=YOUR_ACCOUNT_ID`
|
||||
|
||||
For example, if your URL is `https://merchants.google.com/mc/overview?a=123456789`, your account ID is `123456789`.
|
||||
|
||||
### Step 2: Register for API Access
|
||||
|
||||
```bash
|
||||
POST /google-merchant/accounts/v1/accounts/{accountId}/developerRegistration:registerGcp
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"developerEmail": "your-email@example.com"
|
||||
}
|
||||
```
|
||||
|
||||
Replace `{accountId}` with your account ID from Step 1, and use the email associated with your Google account.
|
||||
|
||||
**Response:**
|
||||
```json
|
||||
{
|
||||
"name": "accounts/123456789/developerRegistration",
|
||||
"gcpIds": ["..."]
|
||||
}
|
||||
```
|
||||
|
||||
### Step 3: Verify Registration
|
||||
|
||||
After registration, test that v1 endpoints work:
|
||||
|
||||
```bash
|
||||
GET /google-merchant/accounts/v1/accounts/{accountId}
|
||||
```
|
||||
|
||||
**Note:** Registration only needs to be done once per Merchant Center account. After successful registration, all v1 endpoints will work for that account.
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### List Accounts
|
||||
```bash
|
||||
GET /google-merchant/accounts/v1/accounts
|
||||
```
|
||||
|
||||
### List Products
|
||||
```bash
|
||||
GET /google-merchant/products/v1/accounts/{accountId}/products
|
||||
@@ -34,7 +104,7 @@ Content-Type: application/json
|
||||
"offerId": "sku123",
|
||||
"contentLanguage": "en",
|
||||
"feedLabel": "US",
|
||||
"attributes": {
|
||||
"productAttributes": {
|
||||
"title": "Product Title",
|
||||
"link": "https://example.com/product",
|
||||
"imageLink": "https://example.com/image.jpg",
|
||||
@@ -60,33 +130,47 @@ POST /google-merchant/reports/v1/accounts/{accountId}/reports:search
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"query": "SELECT offer_id, title, clicks FROM product_performance_view WHERE date BETWEEN '2026-01-01' AND '2026-01-31'"
|
||||
"query": "SELECT id, offer_id, title FROM product_view LIMIT 10"
|
||||
}
|
||||
```
|
||||
|
||||
Note: The `product_view` table requires the `id` field in SELECT clause.
|
||||
|
||||
### List Promotions
|
||||
```bash
|
||||
GET /google-merchant/promotions/v1/accounts/{accountId}/promotions
|
||||
```
|
||||
|
||||
Note: Requires Promotions program enrollment.
|
||||
|
||||
### Get Account
|
||||
```bash
|
||||
GET /google-merchant/accounts/v1/accounts/{accountId}
|
||||
```
|
||||
|
||||
### List Regional Inventories
|
||||
```bash
|
||||
GET /google-merchant/inventories/v1/accounts/{accountId}/products/{productId}/regionalInventories
|
||||
```
|
||||
|
||||
### List Local Inventories
|
||||
```bash
|
||||
GET /google-merchant/inventories/v1/accounts/{accountId}/products/{productId}/localInventories
|
||||
```
|
||||
|
||||
Note: Local inventories only work for products with LOCAL channel.
|
||||
|
||||
## Notes
|
||||
|
||||
- **Developer registration required** - Complete registration before using v1 endpoints
|
||||
- Authentication is automatic - the router injects the OAuth token
|
||||
- Account ID is your Merchant Center numeric ID (visible in MC URL)
|
||||
- Product IDs use format `contentLanguage~feedLabel~offerId`
|
||||
- Monetary values use micros (divide by 1,000,000)
|
||||
- Products can only be inserted in data sources of type `API`
|
||||
- Products can only be inserted in data sources with `input: "API"` type
|
||||
- Uses token-based pagination with `pageSize` and `pageToken`
|
||||
- Promotions require account enrollment in Promotions program
|
||||
- Local inventories only work for LOCAL channel products
|
||||
|
||||
## Resources
|
||||
|
||||
|
||||
95
skills/api-gateway/references/granola.md
Normal file
95
skills/api-gateway/references/granola.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# Granola Routing Reference
|
||||
|
||||
**App name:** `granola`
|
||||
**Base URL proxied:** `mcp.granola.ai` (MCP Server)
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
Granola uses the Model Context Protocol (MCP). All requests are POST requests to tool endpoints:
|
||||
|
||||
```
|
||||
/granola/{tool_name}
|
||||
```
|
||||
|
||||
## MCP Tools
|
||||
|
||||
### Query Meeting Notes
|
||||
```bash
|
||||
POST /granola/query_granola_meetings
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"query": "What action items came from my last meeting?"
|
||||
}
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
- `query` (string, required): Natural language query about meetings
|
||||
|
||||
### List Meetings
|
||||
```bash
|
||||
POST /granola/list_meetings
|
||||
Content-Type: application/json
|
||||
|
||||
{}
|
||||
```
|
||||
|
||||
**Parameters:** None required. Returns recent meetings with metadata.
|
||||
|
||||
### Get Meetings
|
||||
```bash
|
||||
POST /granola/get_meetings
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"meeting_ids": ["0dba4400-50f1-4262-9ac7-89cd27b79371"]
|
||||
}
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
- `meeting_ids` (array of strings, required): Meeting IDs to retrieve
|
||||
|
||||
### Get Meeting Transcript
|
||||
```bash
|
||||
POST /granola/get_meeting_transcript
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"meeting_id": "0dba4400-50f1-4262-9ac7-89cd27b79371"
|
||||
}
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
- `meeting_id` (string, required): Meeting ID to get transcript for
|
||||
|
||||
**Note:** Only available on paid Granola tiers.
|
||||
|
||||
## Response Format
|
||||
|
||||
All responses follow MCP format:
|
||||
|
||||
```json
|
||||
{
|
||||
"content": [
|
||||
{
|
||||
"type": "text",
|
||||
"text": "Response content here..."
|
||||
}
|
||||
],
|
||||
"isError": false
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- All tool calls are POST requests with JSON body
|
||||
- Meeting IDs are UUIDs (e.g., `0dba4400-50f1-4262-9ac7-89cd27b79371`)
|
||||
- Users can only access their own meeting notes
|
||||
- Free tier users limited to notes from last 30 days
|
||||
- Transcripts require paid Granola tier
|
||||
- Rate limit: ~100 requests/minute
|
||||
|
||||
## Resources
|
||||
|
||||
- [Granola MCP Documentation](https://docs.granola.ai/help-center/sharing/integrations/mcp)
|
||||
- [Granola Help Center](https://docs.granola.ai)
|
||||
306
skills/api-gateway/references/microsoft-teams.md
Normal file
306
skills/api-gateway/references/microsoft-teams.md
Normal file
@@ -0,0 +1,306 @@
|
||||
# Microsoft Teams Routing Reference
|
||||
|
||||
**App name:** `microsoft-teams`
|
||||
**Base URL proxied:** `graph.microsoft.com`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/microsoft-teams/v1.0/{resource}
|
||||
```
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### Teams
|
||||
|
||||
#### List Joined Teams
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/joinedTeams
|
||||
```
|
||||
|
||||
#### Get Team
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}
|
||||
```
|
||||
|
||||
### Channels
|
||||
|
||||
#### List Channels
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/channels
|
||||
```
|
||||
|
||||
#### List Private Channels
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/channels?$filter=membershipType eq 'private'
|
||||
```
|
||||
|
||||
#### Get Channel
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}
|
||||
```
|
||||
|
||||
#### Create Channel
|
||||
```bash
|
||||
POST /microsoft-teams/v1.0/teams/{team-id}/channels
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"displayName": "Channel Name",
|
||||
"description": "Description",
|
||||
"membershipType": "standard"
|
||||
}
|
||||
```
|
||||
|
||||
#### Update Channel
|
||||
```bash
|
||||
PATCH /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"description": "Updated description"
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete Channel
|
||||
```bash
|
||||
DELETE /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}
|
||||
```
|
||||
|
||||
### Channel Members
|
||||
|
||||
#### List Channel Members
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/members
|
||||
```
|
||||
|
||||
### Messages
|
||||
|
||||
#### List Channel Messages
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages
|
||||
```
|
||||
|
||||
#### Send Message
|
||||
```bash
|
||||
POST /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"body": {
|
||||
"content": "Hello World"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Send HTML Message
|
||||
```bash
|
||||
POST /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"body": {
|
||||
"contentType": "html",
|
||||
"content": "<p>Formatted message</p>"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Reply to Message
|
||||
```bash
|
||||
POST /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"body": {
|
||||
"content": "Reply content"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### List Message Replies
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages/{message-id}/replies
|
||||
```
|
||||
|
||||
#### Edit Message
|
||||
```bash
|
||||
PATCH /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/messages/{message-id}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"body": {
|
||||
"content": "Updated message content"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Team Members
|
||||
|
||||
#### List Members
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/members
|
||||
```
|
||||
|
||||
### Presence
|
||||
|
||||
#### Get User Presence
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/presence
|
||||
```
|
||||
|
||||
#### Get User Presence by ID
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/users/{user-id}/presence
|
||||
```
|
||||
|
||||
### Tabs
|
||||
|
||||
#### List Channel Tabs
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/channels/{channel-id}/tabs
|
||||
```
|
||||
|
||||
### Apps
|
||||
|
||||
#### List Installed Apps
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/teams/{team-id}/installedApps
|
||||
```
|
||||
|
||||
### Online Meetings
|
||||
|
||||
#### Create Meeting
|
||||
```bash
|
||||
POST /microsoft-teams/v1.0/me/onlineMeetings
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"subject": "Team Sync",
|
||||
"startDateTime": "2026-02-18T10:00:00Z",
|
||||
"endDateTime": "2026-02-18T11:00:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
#### Create Meeting with Attendees
|
||||
```bash
|
||||
POST /microsoft-teams/v1.0/me/onlineMeetings
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"subject": "Project Review",
|
||||
"startDateTime": "2026-02-18T14:00:00Z",
|
||||
"endDateTime": "2026-02-18T15:00:00Z",
|
||||
"participants": {
|
||||
"attendees": [
|
||||
{
|
||||
"upn": "attendee@example.com",
|
||||
"role": "attendee"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Get Meeting
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}
|
||||
```
|
||||
|
||||
#### Find Meeting by Join URL
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings?$filter=JoinWebUrl eq '{encoded-join-url}'
|
||||
```
|
||||
|
||||
#### Delete Meeting
|
||||
```bash
|
||||
DELETE /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}
|
||||
```
|
||||
|
||||
#### List Calendar Events
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/calendar/events?$top=10
|
||||
```
|
||||
|
||||
#### List Meeting Recordings
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/recordings
|
||||
```
|
||||
|
||||
#### Get Meeting Recording
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/recordings/{recording-id}
|
||||
```
|
||||
|
||||
#### List Meeting Transcripts
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/transcripts
|
||||
```
|
||||
|
||||
#### Get Meeting Transcript
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/transcripts/{transcript-id}
|
||||
```
|
||||
|
||||
#### List Attendance Reports
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/attendanceReports
|
||||
```
|
||||
|
||||
#### Get Attendance Report
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/onlineMeetings/{meeting-id}/attendanceReports/{report-id}
|
||||
```
|
||||
|
||||
### Chats
|
||||
|
||||
#### List Chats
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/me/chats
|
||||
```
|
||||
|
||||
#### Get Chat
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/chats/{chat-id}
|
||||
```
|
||||
|
||||
#### List Chat Messages
|
||||
```bash
|
||||
GET /microsoft-teams/v1.0/chats/{chat-id}/messages
|
||||
```
|
||||
|
||||
#### Send Chat Message
|
||||
```bash
|
||||
POST /microsoft-teams/v1.0/chats/{chat-id}/messages
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"body": {
|
||||
"content": "Hello"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## OData Query Parameters
|
||||
|
||||
- `$top=10` - Limit results
|
||||
- `$skip=20` - Skip results
|
||||
- `$select=id,displayName` - Select specific fields
|
||||
- `$filter=membershipType eq 'private'` - Filter results
|
||||
- `$orderby=displayName` - Sort results
|
||||
|
||||
## Notes
|
||||
|
||||
- Uses Microsoft Graph API (`graph.microsoft.com`)
|
||||
- Channel IDs include thread suffix: `19:xxx@thread.tacv2`
|
||||
- Message body content types: `text` or `html`
|
||||
- Channel membership types: `standard`, `private`, `shared`
|
||||
- Supports OData query parameters for filtering and pagination
|
||||
- Meeting recordings/transcripts available after meeting ends
|
||||
|
||||
## Resources
|
||||
|
||||
- [Microsoft Teams API Overview](https://learn.microsoft.com/en-us/graph/api/resources/teams-api-overview)
|
||||
- [Microsoft Graph API Reference](https://learn.microsoft.com/en-us/graph/api/overview)
|
||||
- [Channel Resource](https://learn.microsoft.com/en-us/graph/api/resources/channel)
|
||||
- [ChatMessage Resource](https://learn.microsoft.com/en-us/graph/api/resources/chatmessage)
|
||||
166
skills/api-gateway/references/posthog.md
Normal file
166
skills/api-gateway/references/posthog.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# PostHog Routing Reference
|
||||
|
||||
**App name:** `posthog`
|
||||
**Base URL proxied:** `{subdomain}.posthog.com`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/posthog/api/{resource}
|
||||
/posthog/api/projects/{project_id}/{resource}
|
||||
```
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### Get Current User
|
||||
```bash
|
||||
GET /posthog/api/users/@me/
|
||||
```
|
||||
|
||||
### Get Current Organization
|
||||
```bash
|
||||
GET /posthog/api/organizations/@current/
|
||||
```
|
||||
|
||||
### List Projects
|
||||
```bash
|
||||
GET /posthog/api/projects/
|
||||
```
|
||||
|
||||
### Get Current Project
|
||||
```bash
|
||||
GET /posthog/api/projects/@current/
|
||||
```
|
||||
|
||||
### Run HogQL Query
|
||||
```bash
|
||||
POST /posthog/api/projects/{project_id}/query/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"query": {
|
||||
"kind": "HogQLQuery",
|
||||
"query": "SELECT event, count() FROM events GROUP BY event LIMIT 10"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### List Persons
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/persons/?limit=10
|
||||
```
|
||||
|
||||
### Get Person
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/persons/{person_uuid}/
|
||||
```
|
||||
|
||||
### List Dashboards
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/dashboards/
|
||||
```
|
||||
|
||||
### Get Dashboard
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/dashboards/{dashboard_id}/
|
||||
```
|
||||
|
||||
### Create Dashboard
|
||||
```bash
|
||||
POST /posthog/api/projects/{project_id}/dashboards/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "My Dashboard",
|
||||
"description": "Analytics overview"
|
||||
}
|
||||
```
|
||||
|
||||
### List Insights
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/insights/?limit=10
|
||||
```
|
||||
|
||||
### List Feature Flags
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/feature_flags/
|
||||
```
|
||||
|
||||
### Create Feature Flag
|
||||
```bash
|
||||
POST /posthog/api/projects/{project_id}/feature_flags/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"key": "my-feature-flag",
|
||||
"name": "My Feature Flag",
|
||||
"active": true,
|
||||
"filters": {
|
||||
"groups": [{"rollout_percentage": 100}]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Delete Feature Flag
|
||||
Use soft delete by setting `deleted: true`:
|
||||
```bash
|
||||
PATCH /posthog/api/projects/{project_id}/feature_flags/{flag_id}/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"deleted": true
|
||||
}
|
||||
```
|
||||
|
||||
### List Session Recordings
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/session_recordings/?limit=10
|
||||
```
|
||||
|
||||
### List Cohorts
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/cohorts/
|
||||
```
|
||||
|
||||
### List Actions
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/actions/
|
||||
```
|
||||
|
||||
### List Experiments
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/experiments/
|
||||
```
|
||||
|
||||
### List Surveys
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/surveys/
|
||||
```
|
||||
|
||||
### List Event Definitions
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/event_definitions/?limit=10
|
||||
```
|
||||
|
||||
### List Property Definitions
|
||||
```bash
|
||||
GET /posthog/api/projects/{project_id}/property_definitions/?limit=10
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Use `@current` as a shortcut for the current project ID (e.g., `/api/projects/@current/dashboards/`)
|
||||
- Project IDs are integers (e.g., `136209`)
|
||||
- Person UUIDs are in standard UUID format
|
||||
- The Events endpoint is deprecated; use the Query endpoint with HogQL instead
|
||||
- All project-scoped endpoints require `{project_id}` or `@current`
|
||||
- Pagination uses `limit` and `offset` query parameters
|
||||
- PostHog uses soft delete: use `PATCH` with `{"deleted": true}` instead of HTTP DELETE
|
||||
|
||||
## Resources
|
||||
|
||||
- [PostHog API Overview](https://posthog.com/docs/api)
|
||||
- [HogQL Documentation](https://posthog.com/docs/hogql)
|
||||
- [Feature Flags](https://posthog.com/docs/feature-flags)
|
||||
- [Session Replay](https://posthog.com/docs/session-replay)
|
||||
- [Experiments](https://posthog.com/docs/experiments)
|
||||
155
skills/api-gateway/references/sentry.md
Normal file
155
skills/api-gateway/references/sentry.md
Normal file
@@ -0,0 +1,155 @@
|
||||
# Sentry Routing Reference
|
||||
|
||||
**App name:** `sentry`
|
||||
**Base URL proxied:** `{subdomain}.sentry.io`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/sentry/api/0/{resource}
|
||||
```
|
||||
|
||||
Sentry API uses version `0` prefix in all paths.
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### List Organizations
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/
|
||||
```
|
||||
|
||||
### Retrieve Organization
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/{organization_slug}/
|
||||
```
|
||||
|
||||
### List Organization Projects
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/{organization_slug}/projects/
|
||||
```
|
||||
|
||||
### List Organization Members
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/{organization_slug}/members/
|
||||
```
|
||||
|
||||
### Retrieve Project
|
||||
```bash
|
||||
GET /sentry/api/0/projects/{organization_slug}/{project_slug}/
|
||||
```
|
||||
|
||||
### List Project Issues
|
||||
```bash
|
||||
GET /sentry/api/0/projects/{organization_slug}/{project_slug}/issues/
|
||||
```
|
||||
|
||||
Query parameters:
|
||||
- `statsPeriod` - Stats period: `24h`, `14d`, or empty
|
||||
- `query` - Sentry search query (default: `is:unresolved`)
|
||||
- `cursor` - Pagination cursor
|
||||
|
||||
### List Organization Issues
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/{organization_slug}/issues/
|
||||
```
|
||||
|
||||
### Retrieve Issue
|
||||
```bash
|
||||
GET /sentry/api/0/issues/{issue_id}/
|
||||
```
|
||||
|
||||
### Update Issue
|
||||
```bash
|
||||
PUT /sentry/api/0/issues/{issue_id}/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"status": "resolved"
|
||||
}
|
||||
```
|
||||
|
||||
Status values: `resolved`, `unresolved`, `ignored`
|
||||
|
||||
### Delete Issue
|
||||
```bash
|
||||
DELETE /sentry/api/0/issues/{issue_id}/
|
||||
```
|
||||
|
||||
### List Issue Events
|
||||
```bash
|
||||
GET /sentry/api/0/issues/{issue_id}/events/
|
||||
```
|
||||
|
||||
### List Project Events
|
||||
```bash
|
||||
GET /sentry/api/0/projects/{organization_slug}/{project_slug}/events/
|
||||
```
|
||||
|
||||
### List Organization Teams
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/{organization_slug}/teams/
|
||||
```
|
||||
|
||||
### Create Team
|
||||
```bash
|
||||
POST /sentry/api/0/organizations/{organization_slug}/teams/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "New Team",
|
||||
"slug": "new-team"
|
||||
}
|
||||
```
|
||||
|
||||
### Retrieve Team
|
||||
```bash
|
||||
GET /sentry/api/0/teams/{organization_slug}/{team_slug}/
|
||||
```
|
||||
|
||||
### List Organization Releases
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/{organization_slug}/releases/
|
||||
```
|
||||
|
||||
### Create Release
|
||||
```bash
|
||||
POST /sentry/api/0/organizations/{organization_slug}/releases/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"projects": ["project-slug"]
|
||||
}
|
||||
```
|
||||
|
||||
### Retrieve Release
|
||||
```bash
|
||||
GET /sentry/api/0/organizations/{organization_slug}/releases/{version}/
|
||||
```
|
||||
|
||||
### Create Deploy
|
||||
```bash
|
||||
POST /sentry/api/0/organizations/{organization_slug}/releases/{version}/deploys/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"environment": "production"
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Organization and project identifiers use slugs (lowercase, hyphenated)
|
||||
- Issue IDs are numeric
|
||||
- Release versions can contain special characters (URL encode as needed)
|
||||
- Uses cursor-based pagination via Link header
|
||||
- Most endpoints require OAuth scopes like `event:read`, `project:read`, `org:read`
|
||||
|
||||
## Resources
|
||||
|
||||
- [Sentry API Documentation](https://docs.sentry.io/api/)
|
||||
- [Events API](https://docs.sentry.io/api/events/)
|
||||
- [Projects API](https://docs.sentry.io/api/projects/)
|
||||
- [Organizations API](https://docs.sentry.io/api/organizations/)
|
||||
- [Teams API](https://docs.sentry.io/api/teams/)
|
||||
- [Releases API](https://docs.sentry.io/api/releases/)
|
||||
325
skills/api-gateway/references/squarespace.md
Normal file
325
skills/api-gateway/references/squarespace.md
Normal file
@@ -0,0 +1,325 @@
|
||||
# Squarespace Routing Reference
|
||||
|
||||
**App name:** `squarespace`
|
||||
**Base URL proxied:** `api.squarespace.com`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/squarespace/v2/commerce/products # Products API (v2)
|
||||
/squarespace/1.0/commerce/store_pages # Store Pages (1.0 only)
|
||||
/squarespace/1.0/commerce/inventory # Inventory API
|
||||
/squarespace/1.0/commerce/orders # Orders API
|
||||
/squarespace/1.0/commerce/transactions # Transactions API
|
||||
/squarespace/1.0/profiles # Profiles API
|
||||
```
|
||||
|
||||
## Important Notes
|
||||
|
||||
- All requests require a `User-Agent` header describing your application
|
||||
- Requests without a custom User-Agent are subject to stricter rate limits
|
||||
- Maximum 50 items per batch request
|
||||
- Idempotency-Key header is required for stock adjustments and order creation
|
||||
- Rate limit: 300 requests per minute (5 per second)
|
||||
- Create Order has a stricter rate limit: 100 requests per hour per website
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### Inventory
|
||||
|
||||
#### List All Inventory
|
||||
```bash
|
||||
GET /squarespace/1.0/commerce/inventory
|
||||
GET /squarespace/1.0/commerce/inventory?cursor={cursor}
|
||||
```
|
||||
|
||||
#### Get Specific Inventory
|
||||
```bash
|
||||
GET /squarespace/1.0/commerce/inventory/{variantId1},{variantId2}
|
||||
```
|
||||
Max 50 variant IDs per request.
|
||||
|
||||
#### Adjust Stock Quantities
|
||||
```bash
|
||||
POST /squarespace/1.0/commerce/inventory/adjustments
|
||||
Content-Type: application/json
|
||||
Idempotency-Key: unique-key-here
|
||||
|
||||
{
|
||||
"incrementOperations": [{"variantId": "variant-id", "quantity": 5}],
|
||||
"decrementOperations": [{"variantId": "variant-id", "quantity": 2}],
|
||||
"setFiniteOperations": [{"variantId": "variant-id", "quantity": 100}],
|
||||
"setUnlimitedOperations": ["variant-id"]
|
||||
}
|
||||
```
|
||||
|
||||
### Orders
|
||||
|
||||
#### List All Orders
|
||||
```bash
|
||||
GET /squarespace/1.0/commerce/orders
|
||||
GET /squarespace/1.0/commerce/orders?fulfillmentStatus=PENDING
|
||||
GET /squarespace/1.0/commerce/orders?modifiedAfter=2024-01-01T00:00:00Z&modifiedBefore=2024-12-31T23:59:59Z
|
||||
GET /squarespace/1.0/commerce/orders?customerId={customerId}
|
||||
```
|
||||
|
||||
Note: Cannot combine `cursor` with date range parameters.
|
||||
|
||||
#### Get Specific Order
|
||||
```bash
|
||||
GET /squarespace/1.0/commerce/orders/{orderId}
|
||||
```
|
||||
|
||||
#### Create Order
|
||||
```bash
|
||||
POST /squarespace/1.0/commerce/orders
|
||||
Content-Type: application/json
|
||||
Idempotency-Key: unique-key-here
|
||||
|
||||
{
|
||||
"channelName": "External Store",
|
||||
"externalOrderReference": "ORDER-12345",
|
||||
"customerEmail": "customer@example.com",
|
||||
"lineItems": [
|
||||
{
|
||||
"lineItemType": "PHYSICAL_PRODUCT",
|
||||
"variantId": "variant-id",
|
||||
"quantity": 2,
|
||||
"unitPricePaid": {"currency": "USD", "value": "29.99"}
|
||||
}
|
||||
],
|
||||
"subtotal": {"currency": "USD", "value": "59.98"},
|
||||
"priceTaxInterpretation": "EXCLUSIVE",
|
||||
"grandTotal": {"currency": "USD", "value": "59.98"},
|
||||
"createdOn": "2024-01-15T10:30:00Z"
|
||||
}
|
||||
```
|
||||
|
||||
Note: `subtotal` must equal sum of `lineItems.unitPricePaid.value * quantity`.
|
||||
|
||||
#### Fulfill Order
|
||||
```bash
|
||||
POST /squarespace/1.0/commerce/orders/{orderId}/fulfillments
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"shouldSendNotification": true,
|
||||
"shipments": [
|
||||
{
|
||||
"shipDate": "2024-01-16T08:00:00Z",
|
||||
"carrierName": "USPS",
|
||||
"service": "Priority Mail",
|
||||
"trackingNumber": "9400111899223456789012",
|
||||
"trackingUrl": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223456789012"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Products (v2 API)
|
||||
|
||||
#### List Store Pages
|
||||
```bash
|
||||
GET /squarespace/1.0/commerce/store_pages
|
||||
```
|
||||
Note: Store Pages endpoint uses v1.0 (no v2 available).
|
||||
|
||||
#### List All Products
|
||||
```bash
|
||||
GET /squarespace/v2/commerce/products
|
||||
GET /squarespace/v2/commerce/products?type=PHYSICAL,SERVICE,GIFT_CARD,DIGITAL
|
||||
GET /squarespace/v2/commerce/products?modifiedAfter=2024-01-01T00:00:00Z
|
||||
```
|
||||
|
||||
Note: Cannot combine `cursor` with date/type filters.
|
||||
|
||||
#### Get Specific Products
|
||||
```bash
|
||||
GET /squarespace/v2/commerce/products/{productId1},{productId2}
|
||||
```
|
||||
Max 50 product IDs per request.
|
||||
|
||||
#### Create Product
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"type": "PHYSICAL",
|
||||
"storePageId": "store-page-id",
|
||||
"name": "New Product",
|
||||
"description": "<p>Product description</p>",
|
||||
"urlSlug": "new-product",
|
||||
"isVisible": true,
|
||||
"variants": [
|
||||
{
|
||||
"sku": "SKU-001",
|
||||
"pricing": {"basePrice": {"currency": "USD", "value": "49.99"}},
|
||||
"stock": {"quantity": 100, "unlimited": false}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### Update Product
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products/{productId}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "Updated Product Name",
|
||||
"isVisible": true
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete Product
|
||||
```bash
|
||||
DELETE /squarespace/v2/commerce/products/{productId}
|
||||
```
|
||||
|
||||
### Product Variants (v2 API)
|
||||
|
||||
#### Create Variant
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products/{productId}/variants
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"sku": "SKU-002",
|
||||
"pricing": {"basePrice": {"currency": "USD", "value": "59.99"}},
|
||||
"stock": {"quantity": 50, "unlimited": false},
|
||||
"attributes": {"Size": "Large"}
|
||||
}
|
||||
```
|
||||
|
||||
Note: To use `attributes`, product must have matching `variantAttributes` set first via Update Product.
|
||||
|
||||
#### Update Variant
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products/{productId}/variants/{variantId}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"sku": "SKU-002-UPDATED",
|
||||
"pricing": {"basePrice": {"currency": "USD", "value": "64.99"}}
|
||||
}
|
||||
```
|
||||
|
||||
#### Delete Variant
|
||||
```bash
|
||||
DELETE /squarespace/v2/commerce/products/{productId}/variants/{variantId}
|
||||
```
|
||||
|
||||
### Product Images (v2 API)
|
||||
|
||||
#### Upload Image
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products/{productId}/images
|
||||
Content-Type: multipart/form-data
|
||||
|
||||
curl "https://gateway.maton.ai/squarespace/v2/commerce/products/{productId}/images" \
|
||||
-H "Authorization: Bearer $MATON_API_KEY" \
|
||||
-H "User-Agent: MyClaude/1.0" \
|
||||
-X POST \
|
||||
-F file=@image.png
|
||||
```
|
||||
|
||||
#### Check Upload Status
|
||||
```bash
|
||||
GET /squarespace/v2/commerce/products/{productId}/images/{imageId}/status
|
||||
```
|
||||
|
||||
#### Update Image Alt Text
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products/{productId}/images/{imageId}
|
||||
Content-Type: application/json
|
||||
|
||||
{"altText": "Product image description"}
|
||||
```
|
||||
|
||||
#### Reorder Image
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products/{productId}/images/{imageId}/order
|
||||
Content-Type: application/json
|
||||
|
||||
{"afterImageId": "other-image-id"}
|
||||
```
|
||||
|
||||
#### Assign Image to Variant
|
||||
```bash
|
||||
POST /squarespace/v2/commerce/products/{productId}/variants/{variantId}/image
|
||||
Content-Type: application/json
|
||||
|
||||
{"imageId": "image-id"}
|
||||
```
|
||||
|
||||
#### Delete Image
|
||||
```bash
|
||||
DELETE /squarespace/v2/commerce/products/{productId}/images/{imageId}
|
||||
```
|
||||
|
||||
### Profiles (Customers)
|
||||
|
||||
#### List All Profiles
|
||||
```bash
|
||||
GET /squarespace/1.0/profiles
|
||||
GET /squarespace/1.0/profiles?filter=isCustomer,true
|
||||
GET /squarespace/1.0/profiles?sortField=email&sortDirection=asc
|
||||
```
|
||||
|
||||
Filters (semicolon-separated):
|
||||
- `isCustomer,true` or `isCustomer,false`
|
||||
- `hasAccount,true` or `hasAccount,false`
|
||||
- `email,customer@example.com`
|
||||
|
||||
Sort fields: `createdOn`, `id`, `email`, `lastName`
|
||||
|
||||
#### Get Specific Profiles
|
||||
```bash
|
||||
GET /squarespace/1.0/profiles/{profileId1},{profileId2}
|
||||
```
|
||||
Max 50 profile IDs per request.
|
||||
|
||||
### Transactions
|
||||
|
||||
#### List All Transactions
|
||||
```bash
|
||||
GET /squarespace/1.0/commerce/transactions
|
||||
GET /squarespace/1.0/commerce/transactions?modifiedAfter=2024-01-01T00:00:00Z&modifiedBefore=2024-12-31T23:59:59Z
|
||||
```
|
||||
|
||||
Note: Date filters must be used together (both `modifiedAfter` and `modifiedBefore` required).
|
||||
|
||||
#### Get Specific Transactions
|
||||
```bash
|
||||
GET /squarespace/1.0/commerce/transactions/{documentId1},{documentId2}
|
||||
```
|
||||
Max 50 document IDs per request.
|
||||
|
||||
## Pagination
|
||||
|
||||
Squarespace uses cursor-based pagination:
|
||||
|
||||
```json
|
||||
{
|
||||
"pagination": {
|
||||
"hasNextPage": true,
|
||||
"nextPageCursor": "cursor-value",
|
||||
"nextPageUrl": "https://api.squarespace.com/..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Use the `cursor` parameter to get the next page:
|
||||
```bash
|
||||
GET /squarespace/v2/commerce/products?cursor=cursor-value
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- [Squarespace Commerce APIs Overview](https://developers.squarespace.com/commerce-apis/overview)
|
||||
- [Inventory API](https://developers.squarespace.com/commerce-apis/inventory-overview)
|
||||
- [Orders API](https://developers.squarespace.com/commerce-apis/orders-overview)
|
||||
- [Products API](https://developers.squarespace.com/commerce-apis/products-overview)
|
||||
- [Profiles API](https://developers.squarespace.com/commerce-apis/profiles-overview)
|
||||
- [Transactions API](https://developers.squarespace.com/commerce-apis/transactions-overview)
|
||||
@@ -6,24 +6,24 @@
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/todoist/rest/v2/{resource}
|
||||
/todoist/api/v1/{resource}
|
||||
```
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### List Projects
|
||||
```bash
|
||||
GET /todoist/rest/v2/projects
|
||||
GET /todoist/api/v1/projects
|
||||
```
|
||||
|
||||
### Get Project
|
||||
```bash
|
||||
GET /todoist/rest/v2/projects/{id}
|
||||
GET /todoist/api/v1/projects/{id}
|
||||
```
|
||||
|
||||
### Create Project
|
||||
```bash
|
||||
POST /todoist/rest/v2/projects
|
||||
POST /todoist/api/v1/projects
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -34,7 +34,7 @@ Content-Type: application/json
|
||||
|
||||
### Update Project
|
||||
```bash
|
||||
POST /todoist/rest/v2/projects/{id}
|
||||
POST /todoist/api/v1/projects/{id}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -44,24 +44,24 @@ Content-Type: application/json
|
||||
|
||||
### Delete Project
|
||||
```bash
|
||||
DELETE /todoist/rest/v2/projects/{id}
|
||||
DELETE /todoist/api/v1/projects/{id}
|
||||
```
|
||||
|
||||
### List Tasks
|
||||
```bash
|
||||
GET /todoist/rest/v2/tasks
|
||||
GET /todoist/rest/v2/tasks?project_id={project_id}
|
||||
GET /todoist/rest/v2/tasks?filter={filter}
|
||||
GET /todoist/api/v1/tasks
|
||||
GET /todoist/api/v1/tasks?project_id={project_id}
|
||||
GET /todoist/api/v1/tasks?filter={filter}
|
||||
```
|
||||
|
||||
### Get Task
|
||||
```bash
|
||||
GET /todoist/rest/v2/tasks/{id}
|
||||
GET /todoist/api/v1/tasks/{id}
|
||||
```
|
||||
|
||||
### Create Task
|
||||
```bash
|
||||
POST /todoist/rest/v2/tasks
|
||||
POST /todoist/api/v1/tasks
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -73,7 +73,7 @@ Content-Type: application/json
|
||||
|
||||
### Update Task
|
||||
```bash
|
||||
POST /todoist/rest/v2/tasks/{id}
|
||||
POST /todoist/api/v1/tasks/{id}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -84,28 +84,28 @@ Content-Type: application/json
|
||||
|
||||
### Close Task (Complete)
|
||||
```bash
|
||||
POST /todoist/rest/v2/tasks/{id}/close
|
||||
POST /todoist/api/v1/tasks/{id}/close
|
||||
```
|
||||
|
||||
### Reopen Task
|
||||
```bash
|
||||
POST /todoist/rest/v2/tasks/{id}/reopen
|
||||
POST /todoist/api/v1/tasks/{id}/reopen
|
||||
```
|
||||
|
||||
### Delete Task
|
||||
```bash
|
||||
DELETE /todoist/rest/v2/tasks/{id}
|
||||
DELETE /todoist/api/v1/tasks/{id}
|
||||
```
|
||||
|
||||
### List Sections
|
||||
```bash
|
||||
GET /todoist/rest/v2/sections
|
||||
GET /todoist/rest/v2/sections?project_id={project_id}
|
||||
GET /todoist/api/v1/sections
|
||||
GET /todoist/api/v1/sections?project_id={project_id}
|
||||
```
|
||||
|
||||
### Create Section
|
||||
```bash
|
||||
POST /todoist/rest/v2/sections
|
||||
POST /todoist/api/v1/sections
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -116,17 +116,17 @@ Content-Type: application/json
|
||||
|
||||
### Delete Section
|
||||
```bash
|
||||
DELETE /todoist/rest/v2/sections/{id}
|
||||
DELETE /todoist/api/v1/sections/{id}
|
||||
```
|
||||
|
||||
### List Labels
|
||||
```bash
|
||||
GET /todoist/rest/v2/labels
|
||||
GET /todoist/api/v1/labels
|
||||
```
|
||||
|
||||
### Create Label
|
||||
```bash
|
||||
POST /todoist/rest/v2/labels
|
||||
POST /todoist/api/v1/labels
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -137,18 +137,18 @@ Content-Type: application/json
|
||||
|
||||
### Delete Label
|
||||
```bash
|
||||
DELETE /todoist/rest/v2/labels/{id}
|
||||
DELETE /todoist/api/v1/labels/{id}
|
||||
```
|
||||
|
||||
### List Comments
|
||||
```bash
|
||||
GET /todoist/rest/v2/comments?task_id={task_id}
|
||||
GET /todoist/rest/v2/comments?project_id={project_id}
|
||||
GET /todoist/api/v1/comments?task_id={task_id}
|
||||
GET /todoist/api/v1/comments?project_id={project_id}
|
||||
```
|
||||
|
||||
### Create Comment
|
||||
```bash
|
||||
POST /todoist/rest/v2/comments
|
||||
POST /todoist/api/v1/comments
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
@@ -159,7 +159,7 @@ Content-Type: application/json
|
||||
|
||||
### Delete Comment
|
||||
```bash
|
||||
DELETE /todoist/rest/v2/comments/{id}
|
||||
DELETE /todoist/api/v1/comments/{id}
|
||||
```
|
||||
|
||||
## Notes
|
||||
@@ -172,5 +172,5 @@ DELETE /todoist/rest/v2/comments/{id}
|
||||
|
||||
## Resources
|
||||
|
||||
- [Todoist REST API v2 Documentation](https://developer.todoist.com/rest/v2)
|
||||
- [Todoist API v1 Documentation](https://developer.todoist.com/api/v1)
|
||||
- [Todoist Filter Syntax](https://todoist.com/help/articles/introduction-to-filters)
|
||||
|
||||
Reference in New Issue
Block a user