agentmail 0.4.12 → 0.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/BaseClient.js +2 -2
- package/dist/cjs/Client.d.ts +3 -0
- package/dist/cjs/Client.js +27 -22
- package/dist/cjs/api/resources/agent/client/Client.d.ts +50 -0
- package/dist/cjs/api/resources/agent/client/Client.js +199 -0
- package/dist/cjs/api/resources/agent/client/index.d.ts +1 -0
- package/dist/cjs/api/resources/agent/client/index.js +2 -0
- package/dist/cjs/api/resources/agent/index.d.ts +2 -0
- package/dist/cjs/api/resources/agent/index.js +18 -0
- package/dist/cjs/api/resources/agent/types/AgentSignupRequest.d.ts +9 -0
- package/dist/cjs/api/resources/agent/types/AgentSignupRequest.js +3 -0
- package/dist/cjs/api/resources/agent/types/AgentSignupResponse.d.ts +11 -0
- package/dist/cjs/api/resources/agent/types/AgentSignupResponse.js +3 -0
- package/dist/cjs/api/resources/agent/types/AgentVerifyRequest.d.ts +7 -0
- package/dist/cjs/api/resources/agent/types/AgentVerifyRequest.js +3 -0
- package/dist/cjs/api/resources/agent/types/AgentVerifyResponse.d.ts +7 -0
- package/dist/cjs/api/resources/agent/types/AgentVerifyResponse.js +3 -0
- package/dist/cjs/api/resources/agent/types/index.d.ts +4 -0
- package/dist/cjs/api/resources/agent/types/index.js +20 -0
- package/dist/cjs/api/resources/index.d.ts +2 -0
- package/dist/cjs/api/resources/index.js +6 -4
- package/dist/cjs/serialization/resources/agent/index.d.ts +1 -0
- package/dist/cjs/serialization/resources/agent/index.js +17 -0
- package/dist/cjs/serialization/resources/agent/types/AgentSignupRequest.d.ts +10 -0
- package/dist/cjs/serialization/resources/agent/types/AgentSignupRequest.js +42 -0
- package/dist/cjs/serialization/resources/agent/types/AgentSignupResponse.d.ts +11 -0
- package/dist/cjs/serialization/resources/agent/types/AgentSignupResponse.js +43 -0
- package/dist/cjs/serialization/resources/agent/types/AgentVerifyRequest.d.ts +9 -0
- package/dist/cjs/serialization/resources/agent/types/AgentVerifyRequest.js +41 -0
- package/dist/cjs/serialization/resources/agent/types/AgentVerifyResponse.d.ts +9 -0
- package/dist/cjs/serialization/resources/agent/types/AgentVerifyResponse.js +41 -0
- package/dist/cjs/serialization/resources/agent/types/index.d.ts +4 -0
- package/dist/cjs/serialization/resources/agent/types/index.js +20 -0
- package/dist/cjs/serialization/resources/index.d.ts +2 -0
- package/dist/cjs/serialization/resources/index.js +3 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BaseClient.mjs +2 -2
- package/dist/esm/Client.d.mts +3 -0
- package/dist/esm/Client.mjs +5 -0
- package/dist/esm/api/resources/agent/client/Client.d.mts +50 -0
- package/dist/esm/api/resources/agent/client/Client.mjs +162 -0
- package/dist/esm/api/resources/agent/client/index.d.mts +1 -0
- package/dist/esm/api/resources/agent/client/index.mjs +1 -0
- package/dist/esm/api/resources/agent/index.d.mts +2 -0
- package/dist/esm/api/resources/agent/index.mjs +2 -0
- package/dist/esm/api/resources/agent/types/AgentSignupRequest.d.mts +9 -0
- package/dist/esm/api/resources/agent/types/AgentSignupRequest.mjs +2 -0
- package/dist/esm/api/resources/agent/types/AgentSignupResponse.d.mts +11 -0
- package/dist/esm/api/resources/agent/types/AgentSignupResponse.mjs +2 -0
- package/dist/esm/api/resources/agent/types/AgentVerifyRequest.d.mts +7 -0
- package/dist/esm/api/resources/agent/types/AgentVerifyRequest.mjs +2 -0
- package/dist/esm/api/resources/agent/types/AgentVerifyResponse.d.mts +7 -0
- package/dist/esm/api/resources/agent/types/AgentVerifyResponse.mjs +2 -0
- package/dist/esm/api/resources/agent/types/index.d.mts +4 -0
- package/dist/esm/api/resources/agent/types/index.mjs +4 -0
- package/dist/esm/api/resources/index.d.mts +2 -0
- package/dist/esm/api/resources/index.mjs +2 -0
- package/dist/esm/serialization/resources/agent/index.d.mts +1 -0
- package/dist/esm/serialization/resources/agent/index.mjs +1 -0
- package/dist/esm/serialization/resources/agent/types/AgentSignupRequest.d.mts +10 -0
- package/dist/esm/serialization/resources/agent/types/AgentSignupRequest.mjs +6 -0
- package/dist/esm/serialization/resources/agent/types/AgentSignupResponse.d.mts +11 -0
- package/dist/esm/serialization/resources/agent/types/AgentSignupResponse.mjs +7 -0
- package/dist/esm/serialization/resources/agent/types/AgentVerifyRequest.d.mts +9 -0
- package/dist/esm/serialization/resources/agent/types/AgentVerifyRequest.mjs +5 -0
- package/dist/esm/serialization/resources/agent/types/AgentVerifyResponse.d.mts +9 -0
- package/dist/esm/serialization/resources/agent/types/AgentVerifyResponse.mjs +5 -0
- package/dist/esm/serialization/resources/agent/types/index.d.mts +4 -0
- package/dist/esm/serialization/resources/agent/types/index.mjs +4 -0
- package/dist/esm/serialization/resources/index.d.mts +2 -0
- package/dist/esm/serialization/resources/index.mjs +2 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/dist/llms-full.txt +1000 -374
- package/dist/llms.txt +3 -0
- package/package.json +1 -1
- package/reference.md +140 -0
package/dist/llms-full.txt
CHANGED
|
@@ -2859,7 +2859,7 @@ When you create an API key with a `permissions` object, it switches from "full a
|
|
|
2859
2859
|
|
|
2860
2860
|
### Intersection with scope
|
|
2861
2861
|
|
|
2862
|
-
Permissions are intersected with the key's scope. A key scoped to a single inbox cannot gain organization-level capabilities (like `
|
|
2862
|
+
Permissions are intersected with the key's scope. A key scoped to a single inbox cannot gain organization-level capabilities (like `inbox_create` or `domain_create`) even if those permissions are set to `true`. The effective permissions are always the intersection of what the scope allows and what the `permissions` object grants.
|
|
2863
2863
|
|
|
2864
2864
|
### Privilege escalation protection
|
|
2865
2865
|
|
|
@@ -2871,95 +2871,95 @@ A restricted API key cannot create a child key with more permissions than itself
|
|
|
2871
2871
|
|
|
2872
2872
|
| Permission | Description |
|
|
2873
2873
|
| -------------- | --------------------- |
|
|
2874
|
-
| `
|
|
2875
|
-
| `
|
|
2876
|
-
| `
|
|
2877
|
-
| `
|
|
2874
|
+
| `inbox_read` | Read inbox details |
|
|
2875
|
+
| `inbox_create` | Create new inboxes |
|
|
2876
|
+
| `inbox_update` | Update inbox settings |
|
|
2877
|
+
| `inbox_delete` | Delete inboxes |
|
|
2878
2878
|
|
|
2879
2879
|
### Threads
|
|
2880
2880
|
|
|
2881
2881
|
| Permission | Description |
|
|
2882
2882
|
| --------------- | -------------- |
|
|
2883
|
-
| `
|
|
2884
|
-
| `
|
|
2883
|
+
| `thread_read` | Read threads |
|
|
2884
|
+
| `thread_delete` | Delete threads |
|
|
2885
2885
|
|
|
2886
2886
|
### Messages
|
|
2887
2887
|
|
|
2888
2888
|
| Permission | Description |
|
|
2889
2889
|
| ---------------- | --------------------- |
|
|
2890
|
-
| `
|
|
2891
|
-
| `
|
|
2892
|
-
| `
|
|
2890
|
+
| `message_read` | Read messages |
|
|
2891
|
+
| `message_send` | Send messages |
|
|
2892
|
+
| `message_update` | Update message labels |
|
|
2893
2893
|
|
|
2894
|
-
###
|
|
2894
|
+
### Label Visibility
|
|
2895
2895
|
|
|
2896
|
-
| Permission
|
|
2897
|
-
|
|
|
2898
|
-
| `
|
|
2899
|
-
| `
|
|
2900
|
-
| `
|
|
2896
|
+
| Permission | Description |
|
|
2897
|
+
| -------------------- | ---------------------------------- |
|
|
2898
|
+
| `label_spam_read` | Access messages labeled as spam |
|
|
2899
|
+
| `label_blocked_read` | Access messages labeled as blocked |
|
|
2900
|
+
| `label_trash_read` | Access messages labeled as trash |
|
|
2901
2901
|
|
|
2902
2902
|
<Info>
|
|
2903
|
-
When a
|
|
2903
|
+
When a label visibility permission is denied, items with that label are automatically excluded from list results and return "not found" on direct access. For example, setting `label_spam_read` to `false` means the key will never see spam messages in any listing or lookup.
|
|
2904
2904
|
</Info>
|
|
2905
2905
|
|
|
2906
2906
|
### Drafts
|
|
2907
2907
|
|
|
2908
2908
|
| Permission | Description |
|
|
2909
2909
|
| -------------- | ------------- |
|
|
2910
|
-
| `
|
|
2911
|
-
| `
|
|
2912
|
-
| `
|
|
2913
|
-
| `
|
|
2914
|
-
| `
|
|
2910
|
+
| `draft_read` | Read drafts |
|
|
2911
|
+
| `draft_create` | Create drafts |
|
|
2912
|
+
| `draft_update` | Update drafts |
|
|
2913
|
+
| `draft_delete` | Delete drafts |
|
|
2914
|
+
| `draft_send` | Send drafts |
|
|
2915
2915
|
|
|
2916
2916
|
### Webhooks
|
|
2917
2917
|
|
|
2918
2918
|
| Permission | Description |
|
|
2919
2919
|
| ---------------- | --------------------------- |
|
|
2920
|
-
| `
|
|
2921
|
-
| `
|
|
2922
|
-
| `
|
|
2923
|
-
| `
|
|
2920
|
+
| `webhook_read` | Read webhook configurations |
|
|
2921
|
+
| `webhook_create` | Create webhooks |
|
|
2922
|
+
| `webhook_update` | Update webhooks |
|
|
2923
|
+
| `webhook_delete` | Delete webhooks |
|
|
2924
2924
|
|
|
2925
2925
|
### Domains
|
|
2926
2926
|
|
|
2927
2927
|
| Permission | Description |
|
|
2928
2928
|
| --------------- | ------------------- |
|
|
2929
|
-
| `
|
|
2930
|
-
| `
|
|
2931
|
-
| `
|
|
2932
|
-
| `
|
|
2929
|
+
| `domain_read` | Read domain details |
|
|
2930
|
+
| `domain_create` | Create domains |
|
|
2931
|
+
| `domain_update` | Update domains |
|
|
2932
|
+
| `domain_delete` | Delete domains |
|
|
2933
2933
|
|
|
2934
2934
|
### Lists
|
|
2935
2935
|
|
|
2936
2936
|
| Permission | Description |
|
|
2937
2937
|
| ------------------- | ------------------- |
|
|
2938
|
-
| `
|
|
2939
|
-
| `
|
|
2940
|
-
| `
|
|
2938
|
+
| `list_entry_read` | Read list entries |
|
|
2939
|
+
| `list_entry_create` | Create list entries |
|
|
2940
|
+
| `list_entry_delete` | Delete list entries |
|
|
2941
2941
|
|
|
2942
2942
|
### Metrics
|
|
2943
2943
|
|
|
2944
2944
|
| Permission | Description |
|
|
2945
2945
|
| -------------- | ------------ |
|
|
2946
|
-
| `
|
|
2946
|
+
| `metrics_read` | Read metrics |
|
|
2947
2947
|
|
|
2948
2948
|
### API Keys
|
|
2949
2949
|
|
|
2950
2950
|
| Permission | Description |
|
|
2951
2951
|
| ---------------- | --------------- |
|
|
2952
|
-
| `
|
|
2953
|
-
| `
|
|
2954
|
-
| `
|
|
2952
|
+
| `api_key_read` | Read API keys |
|
|
2953
|
+
| `api_key_create` | Create API keys |
|
|
2954
|
+
| `api_key_delete` | Delete API keys |
|
|
2955
2955
|
|
|
2956
2956
|
### Pods
|
|
2957
2957
|
|
|
2958
2958
|
| Permission | Description |
|
|
2959
2959
|
| ------------ | ----------- |
|
|
2960
|
-
| `
|
|
2961
|
-
| `
|
|
2962
|
-
| `
|
|
2960
|
+
| `pod_read` | Read pods |
|
|
2961
|
+
| `pod_create` | Create pods |
|
|
2962
|
+
| `pod_delete` | Delete pods |
|
|
2963
2963
|
|
|
2964
2964
|
## Code Examples
|
|
2965
2965
|
|
|
@@ -2976,19 +2976,19 @@ Create an API key that can read all resources but cannot create, update, or dele
|
|
|
2976
2976
|
key = client.api_keys.create(
|
|
2977
2977
|
name="read-only-agent",
|
|
2978
2978
|
permissions={
|
|
2979
|
-
"
|
|
2980
|
-
"
|
|
2981
|
-
"
|
|
2982
|
-
"
|
|
2983
|
-
"
|
|
2984
|
-
"
|
|
2985
|
-
"
|
|
2986
|
-
"
|
|
2987
|
-
"
|
|
2988
|
-
"
|
|
2989
|
-
"
|
|
2990
|
-
"
|
|
2991
|
-
"
|
|
2979
|
+
"inbox_read": True,
|
|
2980
|
+
"thread_read": True,
|
|
2981
|
+
"message_read": True,
|
|
2982
|
+
"draft_read": True,
|
|
2983
|
+
"webhook_read": True,
|
|
2984
|
+
"domain_read": True,
|
|
2985
|
+
"list_entry_read": True,
|
|
2986
|
+
"metrics_read": True,
|
|
2987
|
+
"api_key_read": True,
|
|
2988
|
+
"pod_read": True,
|
|
2989
|
+
"label_spam_read": True,
|
|
2990
|
+
"label_blocked_read": True,
|
|
2991
|
+
"label_trash_read": True,
|
|
2992
2992
|
}
|
|
2993
2993
|
)
|
|
2994
2994
|
|
|
@@ -3003,19 +3003,19 @@ Create an API key that can read all resources but cannot create, update, or dele
|
|
|
3003
3003
|
const key = await client.apiKeys.create({
|
|
3004
3004
|
name: "read-only-agent",
|
|
3005
3005
|
permissions: {
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3006
|
+
inboxRead: true,
|
|
3007
|
+
threadRead: true,
|
|
3008
|
+
messageRead: true,
|
|
3009
|
+
draftRead: true,
|
|
3010
|
+
webhookRead: true,
|
|
3011
|
+
domainRead: true,
|
|
3012
|
+
listEntryRead: true,
|
|
3013
|
+
metricsRead: true,
|
|
3014
|
+
apiKeyRead: true,
|
|
3015
|
+
podRead: true,
|
|
3016
|
+
labelSpamRead: true,
|
|
3017
|
+
labelBlockedRead: true,
|
|
3018
|
+
labelTrashRead: true,
|
|
3019
3019
|
},
|
|
3020
3020
|
});
|
|
3021
3021
|
|
|
@@ -3032,41 +3032,41 @@ Create a key with full access but block visibility into spam, blocked, and trash
|
|
|
3032
3032
|
key = client.api_keys.create(
|
|
3033
3033
|
name="clean-inbox-agent",
|
|
3034
3034
|
permissions={
|
|
3035
|
-
"
|
|
3036
|
-
"
|
|
3037
|
-
"
|
|
3038
|
-
"
|
|
3039
|
-
"
|
|
3040
|
-
"
|
|
3041
|
-
"
|
|
3042
|
-
"
|
|
3043
|
-
"
|
|
3044
|
-
"
|
|
3045
|
-
"
|
|
3046
|
-
"
|
|
3047
|
-
"
|
|
3048
|
-
"
|
|
3049
|
-
"
|
|
3050
|
-
"
|
|
3051
|
-
"
|
|
3052
|
-
"
|
|
3053
|
-
"
|
|
3054
|
-
"
|
|
3055
|
-
"
|
|
3056
|
-
"
|
|
3057
|
-
"
|
|
3058
|
-
"
|
|
3059
|
-
"
|
|
3060
|
-
"
|
|
3061
|
-
"
|
|
3062
|
-
"
|
|
3063
|
-
"
|
|
3064
|
-
"
|
|
3065
|
-
"
|
|
3066
|
-
"
|
|
3067
|
-
"
|
|
3068
|
-
"
|
|
3069
|
-
"
|
|
3035
|
+
"inbox_read": True,
|
|
3036
|
+
"inbox_create": True,
|
|
3037
|
+
"inbox_update": True,
|
|
3038
|
+
"inbox_delete": True,
|
|
3039
|
+
"thread_read": True,
|
|
3040
|
+
"thread_delete": True,
|
|
3041
|
+
"message_read": True,
|
|
3042
|
+
"message_send": True,
|
|
3043
|
+
"message_update": True,
|
|
3044
|
+
"label_spam_read": False,
|
|
3045
|
+
"label_blocked_read": False,
|
|
3046
|
+
"label_trash_read": False,
|
|
3047
|
+
"draft_read": True,
|
|
3048
|
+
"draft_create": True,
|
|
3049
|
+
"draft_update": True,
|
|
3050
|
+
"draft_delete": True,
|
|
3051
|
+
"draft_send": True,
|
|
3052
|
+
"webhook_read": True,
|
|
3053
|
+
"webhook_create": True,
|
|
3054
|
+
"webhook_update": True,
|
|
3055
|
+
"webhook_delete": True,
|
|
3056
|
+
"domain_read": True,
|
|
3057
|
+
"domain_create": True,
|
|
3058
|
+
"domain_update": True,
|
|
3059
|
+
"domain_delete": True,
|
|
3060
|
+
"list_entry_read": True,
|
|
3061
|
+
"list_entry_create": True,
|
|
3062
|
+
"list_entry_delete": True,
|
|
3063
|
+
"metrics_read": True,
|
|
3064
|
+
"api_key_read": True,
|
|
3065
|
+
"api_key_create": True,
|
|
3066
|
+
"api_key_delete": True,
|
|
3067
|
+
"pod_read": True,
|
|
3068
|
+
"pod_create": True,
|
|
3069
|
+
"pod_delete": True,
|
|
3070
3070
|
}
|
|
3071
3071
|
)
|
|
3072
3072
|
```
|
|
@@ -3075,41 +3075,41 @@ Create a key with full access but block visibility into spam, blocked, and trash
|
|
|
3075
3075
|
const key = await client.apiKeys.create({
|
|
3076
3076
|
name: "clean-inbox-agent",
|
|
3077
3077
|
permissions: {
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3078
|
+
inboxRead: true,
|
|
3079
|
+
inboxCreate: true,
|
|
3080
|
+
inboxUpdate: true,
|
|
3081
|
+
inboxDelete: true,
|
|
3082
|
+
threadRead: true,
|
|
3083
|
+
threadDelete: true,
|
|
3084
|
+
messageRead: true,
|
|
3085
|
+
messageSend: true,
|
|
3086
|
+
messageUpdate: true,
|
|
3087
|
+
labelSpamRead: false,
|
|
3088
|
+
labelBlockedRead: false,
|
|
3089
|
+
labelTrashRead: false,
|
|
3090
|
+
draftRead: true,
|
|
3091
|
+
draftCreate: true,
|
|
3092
|
+
draftUpdate: true,
|
|
3093
|
+
draftDelete: true,
|
|
3094
|
+
draftSend: true,
|
|
3095
|
+
webhookRead: true,
|
|
3096
|
+
webhookCreate: true,
|
|
3097
|
+
webhookUpdate: true,
|
|
3098
|
+
webhookDelete: true,
|
|
3099
|
+
domainRead: true,
|
|
3100
|
+
domainCreate: true,
|
|
3101
|
+
domainUpdate: true,
|
|
3102
|
+
domainDelete: true,
|
|
3103
|
+
listEntryRead: true,
|
|
3104
|
+
listEntryCreate: true,
|
|
3105
|
+
listEntryDelete: true,
|
|
3106
|
+
metricsRead: true,
|
|
3107
|
+
apiKeyRead: true,
|
|
3108
|
+
apiKeyCreate: true,
|
|
3109
|
+
apiKeyDelete: true,
|
|
3110
|
+
podRead: true,
|
|
3111
|
+
podCreate: true,
|
|
3112
|
+
podDelete: true,
|
|
3113
3113
|
},
|
|
3114
3114
|
});
|
|
3115
3115
|
```
|
|
@@ -3128,18 +3128,18 @@ Copy one of the blocks below into Cursor or Claude for complete Permissions API
|
|
|
3128
3128
|
When `permissions` is set, only `True` values are granted; omitted or `False` = denied.
|
|
3129
3129
|
Permissions intersect with scope (pod/inbox). A restricted key cannot create a more privileged child key.
|
|
3130
3130
|
|
|
3131
|
-
Permission fields (all optional<bool
|
|
3132
|
-
Inboxes:
|
|
3133
|
-
Threads:
|
|
3134
|
-
Messages:
|
|
3135
|
-
|
|
3136
|
-
Drafts:
|
|
3137
|
-
Webhooks:
|
|
3138
|
-
Domains:
|
|
3139
|
-
Lists:
|
|
3140
|
-
Metrics:
|
|
3141
|
-
API Keys:
|
|
3142
|
-
Pods:
|
|
3131
|
+
Permission fields (all optional<bool>, resource_action format):
|
|
3132
|
+
Inboxes: inbox_read, inbox_create, inbox_update, inbox_delete
|
|
3133
|
+
Threads: thread_read, thread_delete
|
|
3134
|
+
Messages: message_read, message_send, message_update
|
|
3135
|
+
Label visibility: label_spam_read, label_blocked_read, label_trash_read
|
|
3136
|
+
Drafts: draft_read, draft_create, draft_update, draft_delete, draft_send
|
|
3137
|
+
Webhooks: webhook_read, webhook_create, webhook_update, webhook_delete
|
|
3138
|
+
Domains: domain_read, domain_create, domain_update, domain_delete
|
|
3139
|
+
Lists: list_entry_read, list_entry_create, list_entry_delete
|
|
3140
|
+
Metrics: metrics_read
|
|
3141
|
+
API Keys: api_key_read, api_key_create, api_key_delete
|
|
3142
|
+
Pods: pod_read, pod_create, pod_delete
|
|
3143
3143
|
|
|
3144
3144
|
API: api_keys.create(name, permissions={...})
|
|
3145
3145
|
"""
|
|
@@ -3150,7 +3150,7 @@ Copy one of the blocks below into Cursor or Claude for complete Permissions API
|
|
|
3150
3150
|
# read-only key
|
|
3151
3151
|
key = client.api_keys.create(
|
|
3152
3152
|
name="read-only",
|
|
3153
|
-
permissions={"
|
|
3153
|
+
permissions={"inbox_read": True, "message_read": True, "thread_read": True}
|
|
3154
3154
|
)
|
|
3155
3155
|
print(key.api_key)
|
|
3156
3156
|
```
|
|
@@ -3163,18 +3163,18 @@ Copy one of the blocks below into Cursor or Claude for complete Permissions API
|
|
|
3163
3163
|
* When `permissions` is set, only `true` values are granted; omitted or `false` = denied.
|
|
3164
3164
|
* Permissions intersect with scope (pod/inbox). A restricted key cannot create a more privileged child key.
|
|
3165
3165
|
*
|
|
3166
|
-
* Permission fields (all optional boolean):
|
|
3167
|
-
* Inboxes:
|
|
3168
|
-
* Threads:
|
|
3169
|
-
* Messages:
|
|
3170
|
-
*
|
|
3171
|
-
* Drafts:
|
|
3172
|
-
* Webhooks:
|
|
3173
|
-
* Domains:
|
|
3174
|
-
* Lists:
|
|
3175
|
-
* Metrics:
|
|
3176
|
-
* API Keys:
|
|
3177
|
-
* Pods:
|
|
3166
|
+
* Permission fields (all optional boolean, resourceAction format):
|
|
3167
|
+
* Inboxes: inboxRead, inboxCreate, inboxUpdate, inboxDelete
|
|
3168
|
+
* Threads: threadRead, threadDelete
|
|
3169
|
+
* Messages: messageRead, messageSend, messageUpdate
|
|
3170
|
+
* Label visibility: labelSpamRead, labelBlockedRead, labelTrashRead
|
|
3171
|
+
* Drafts: draftRead, draftCreate, draftUpdate, draftDelete, draftSend
|
|
3172
|
+
* Webhooks: webhookRead, webhookCreate, webhookUpdate, webhookDelete
|
|
3173
|
+
* Domains: domainRead, domainCreate, domainUpdate, domainDelete
|
|
3174
|
+
* Lists: listEntryRead, listEntryCreate, listEntryDelete
|
|
3175
|
+
* Metrics: metricsRead
|
|
3176
|
+
* API Keys: apiKeyRead, apiKeyCreate, apiKeyDelete
|
|
3177
|
+
* Pods: podRead, podCreate, podDelete
|
|
3178
3178
|
*
|
|
3179
3179
|
* API: apiKeys.create({ name, permissions: {...} })
|
|
3180
3180
|
*/
|
|
@@ -3186,7 +3186,7 @@ Copy one of the blocks below into Cursor or Claude for complete Permissions API
|
|
|
3186
3186
|
// read-only key
|
|
3187
3187
|
const key = await client.apiKeys.create({
|
|
3188
3188
|
name: "read-only",
|
|
3189
|
-
permissions: {
|
|
3189
|
+
permissions: { inboxRead: true, messageRead: true, threadRead: true },
|
|
3190
3190
|
});
|
|
3191
3191
|
console.log(key.apiKey);
|
|
3192
3192
|
}
|
|
@@ -3196,9 +3196,9 @@ Copy one of the blocks below into Cursor or Claude for complete Permissions API
|
|
|
3196
3196
|
|
|
3197
3197
|
## Best Practices
|
|
3198
3198
|
|
|
3199
|
-
* **Use the principle of least privilege.** Only grant the permissions your agent actually needs. A support agent that reads and replies to emails does not need `
|
|
3199
|
+
* **Use the principle of least privilege.** Only grant the permissions your agent actually needs. A support agent that reads and replies to emails does not need `domain_create` or `inbox_delete`.
|
|
3200
3200
|
* **Combine with scopes for defense in depth.** Pair permissions with [pod-scoped](/multi-tenancy#pod-scoped-keys) or [inbox-scoped](/multi-tenancy#inbox-scoped-keys) keys. Scopes limit *which* resources a key can see, while permissions limit *what* it can do.
|
|
3201
|
-
* **Filter unwanted content from agents.** Set `
|
|
3201
|
+
* **Filter unwanted content from agents.** Set `label_spam_read`, `label_blocked_read`, and `label_trash_read` to `false` on agent-facing keys. This prevents agents from seeing or processing unwanted email, keeping their context clean.
|
|
3202
3202
|
|
|
3203
3203
|
|
|
3204
3204
|
***
|
|
@@ -3776,6 +3776,124 @@ openclaw skills install agentmail-to/agentmail-skills/agentmail-cli
|
|
|
3776
3776
|
This works with any compatible tool, including OpenClaw, Claude Code, Cursor, and Codex. See the [Skills](/integrations/skills) page for more details.
|
|
3777
3777
|
|
|
3778
3778
|
|
|
3779
|
+
***
|
|
3780
|
+
|
|
3781
|
+
title: Google ADK
|
|
3782
|
+
subtitle: Give your Google ADK agent its own email inbox
|
|
3783
|
+
slug: integrations/google-adk
|
|
3784
|
+
description: AgentMail's Google Agent Development Kit (ADK) integration
|
|
3785
|
+
-----------------------------------------------------------------------
|
|
3786
|
+
|
|
3787
|
+
## Getting started
|
|
3788
|
+
|
|
3789
|
+
[Google Agent Development Kit (ADK)](https://google.github.io/adk-docs/) is an open-source framework for building AI agents. By connecting AgentMail to your ADK agent via the [AgentMail MCP server](https://github.com/agentmail-to/agentmail-smithery-mcp), your agent can create inboxes, send and receive emails, manage threads, and handle attachments using natural language.
|
|
3790
|
+
|
|
3791
|
+
## Use cases
|
|
3792
|
+
|
|
3793
|
+
* **Give agents their own inboxes:** Create dedicated email addresses for your agents so they can send and receive emails independently, just like a human team member.
|
|
3794
|
+
* **Automate email workflows:** Let your agent handle email conversations end to end, including sending initial outreach, reading replies, and following up on threads.
|
|
3795
|
+
* **Manage conversations across inboxes:** List and search across threads and messages, forward emails, and retrieve attachments to keep your agent informed and responsive.
|
|
3796
|
+
|
|
3797
|
+
## Prerequisites
|
|
3798
|
+
|
|
3799
|
+
1. An [AgentMail account](https://agentmail.to/) with an API key from the [AgentMail Console](https://console.agentmail.to)
|
|
3800
|
+
2. [Google ADK](https://google.github.io/adk-docs/get-started/) installed (`pip install google-adk` or `npm install @google/adk`)
|
|
3801
|
+
|
|
3802
|
+
## Setup
|
|
3803
|
+
|
|
3804
|
+
ADK supports AgentMail through the MCP tool interface. Connect the AgentMail MCP server as a local stdio transport:
|
|
3805
|
+
|
|
3806
|
+
<CodeBlocks>
|
|
3807
|
+
```python title="Python"
|
|
3808
|
+
from google.adk.agents import Agent
|
|
3809
|
+
from google.adk.tools.mcp_tool import McpToolset
|
|
3810
|
+
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
|
|
3811
|
+
from mcp import StdioServerParameters
|
|
3812
|
+
|
|
3813
|
+
AGENTMAIL_API_KEY = "YOUR_AGENTMAIL_API_KEY"
|
|
3814
|
+
|
|
3815
|
+
root_agent = Agent(
|
|
3816
|
+
model="gemini-2.5-pro",
|
|
3817
|
+
name="agentmail_agent",
|
|
3818
|
+
instruction="Help users manage email inboxes and send messages",
|
|
3819
|
+
tools=[
|
|
3820
|
+
McpToolset(
|
|
3821
|
+
connection_params=StdioConnectionParams(
|
|
3822
|
+
server_params=StdioServerParameters(
|
|
3823
|
+
command="npx",
|
|
3824
|
+
args=[
|
|
3825
|
+
"-y",
|
|
3826
|
+
"agentmail-mcp",
|
|
3827
|
+
],
|
|
3828
|
+
env={
|
|
3829
|
+
"AGENTMAIL_API_KEY": AGENTMAIL_API_KEY,
|
|
3830
|
+
}
|
|
3831
|
+
),
|
|
3832
|
+
timeout=30,
|
|
3833
|
+
),
|
|
3834
|
+
)
|
|
3835
|
+
],
|
|
3836
|
+
)
|
|
3837
|
+
```
|
|
3838
|
+
|
|
3839
|
+
```typescript title="TypeScript"
|
|
3840
|
+
import { LlmAgent, MCPToolset } from "@google/adk";
|
|
3841
|
+
|
|
3842
|
+
const AGENTMAIL_API_KEY = "YOUR_AGENTMAIL_API_KEY";
|
|
3843
|
+
|
|
3844
|
+
const rootAgent = new LlmAgent({
|
|
3845
|
+
model: "gemini-2.5-pro",
|
|
3846
|
+
name: "agentmail_agent",
|
|
3847
|
+
instruction: "Help users manage email inboxes and send messages",
|
|
3848
|
+
tools: [
|
|
3849
|
+
new MCPToolset({
|
|
3850
|
+
type: "StdioConnectionParams",
|
|
3851
|
+
serverParams: {
|
|
3852
|
+
command: "npx",
|
|
3853
|
+
args: ["-y", "agentmail-mcp"],
|
|
3854
|
+
env: {
|
|
3855
|
+
AGENTMAIL_API_KEY: AGENTMAIL_API_KEY,
|
|
3856
|
+
},
|
|
3857
|
+
},
|
|
3858
|
+
}),
|
|
3859
|
+
],
|
|
3860
|
+
});
|
|
3861
|
+
|
|
3862
|
+
export { rootAgent };
|
|
3863
|
+
```
|
|
3864
|
+
</CodeBlocks>
|
|
3865
|
+
|
|
3866
|
+
## Available tools
|
|
3867
|
+
|
|
3868
|
+
Once connected, your ADK agent has access to the following AgentMail tools:
|
|
3869
|
+
|
|
3870
|
+
### Inbox management
|
|
3871
|
+
|
|
3872
|
+
| Tool | Description |
|
|
3873
|
+
| -------------- | --------------------------------------------- |
|
|
3874
|
+
| `list_inboxes` | List all inboxes |
|
|
3875
|
+
| `get_inbox` | Get details for a specific inbox |
|
|
3876
|
+
| `create_inbox` | Create a new inbox with a username and domain |
|
|
3877
|
+
| `delete_inbox` | Delete an inbox |
|
|
3878
|
+
|
|
3879
|
+
### Thread management
|
|
3880
|
+
|
|
3881
|
+
| Tool | Description |
|
|
3882
|
+
| ---------------- | --------------------------------------- |
|
|
3883
|
+
| `list_threads` | List threads in an inbox |
|
|
3884
|
+
| `get_thread` | Get a specific thread with its messages |
|
|
3885
|
+
| `get_attachment` | Download an attachment from a message |
|
|
3886
|
+
|
|
3887
|
+
### Message operations
|
|
3888
|
+
|
|
3889
|
+
| Tool | Description |
|
|
3890
|
+
| ------------------ | --------------------------------------------- |
|
|
3891
|
+
| `send_message` | Send a new email from an inbox |
|
|
3892
|
+
| `reply_to_message` | Reply to an existing message |
|
|
3893
|
+
| `forward_message` | Forward a message to another recipient |
|
|
3894
|
+
| `update_message` | Update message properties such as read status |
|
|
3895
|
+
|
|
3896
|
+
|
|
3779
3897
|
***
|
|
3780
3898
|
|
|
3781
3899
|
title: OpenClaw
|
|
@@ -11658,6 +11776,514 @@ If you have any other languages you would like us to support, please [reach out
|
|
|
11658
11776
|
All of our SDKs are open source and available under the MIT license.
|
|
11659
11777
|
|
|
11660
11778
|
|
|
11779
|
+
# Sign Up
|
|
11780
|
+
|
|
11781
|
+
POST https://api.agentmail.to/v0/agent/sign-up
|
|
11782
|
+
Content-Type: application/json
|
|
11783
|
+
|
|
11784
|
+
Create a new agent organization with an inbox and API key. A 6-digit OTP is sent to the human's email for verification.
|
|
11785
|
+
|
|
11786
|
+
This endpoint is idempotent. Calling it again with the same `human_email` will rotate the API key and resend the OTP if expired.
|
|
11787
|
+
|
|
11788
|
+
The returned API key has limited permissions until the organization is verified via the verify endpoint.
|
|
11789
|
+
|
|
11790
|
+
Reference: https://docs.agentmail.to/api-reference/agent/sign-up
|
|
11791
|
+
|
|
11792
|
+
## OpenAPI Specification
|
|
11793
|
+
|
|
11794
|
+
```yaml
|
|
11795
|
+
openapi: 3.1.0
|
|
11796
|
+
info:
|
|
11797
|
+
title: api
|
|
11798
|
+
version: 1.0.0
|
|
11799
|
+
paths:
|
|
11800
|
+
/v0/agent/sign-up:
|
|
11801
|
+
post:
|
|
11802
|
+
operationId: sign-up
|
|
11803
|
+
summary: Sign Up
|
|
11804
|
+
description: >-
|
|
11805
|
+
Create a new agent organization with an inbox and API key. A 6-digit OTP
|
|
11806
|
+
is sent to the human's email for verification.
|
|
11807
|
+
|
|
11808
|
+
|
|
11809
|
+
This endpoint is idempotent. Calling it again with the same
|
|
11810
|
+
`human_email` will rotate the API key and resend the OTP if expired.
|
|
11811
|
+
|
|
11812
|
+
|
|
11813
|
+
The returned API key has limited permissions until the organization is
|
|
11814
|
+
verified via the verify endpoint.
|
|
11815
|
+
tags:
|
|
11816
|
+
- subpackage_agent
|
|
11817
|
+
responses:
|
|
11818
|
+
'200':
|
|
11819
|
+
description: Response with status 200
|
|
11820
|
+
content:
|
|
11821
|
+
application/json:
|
|
11822
|
+
schema:
|
|
11823
|
+
$ref: '#/components/schemas/type_agent:AgentSignupResponse'
|
|
11824
|
+
'400':
|
|
11825
|
+
description: Error response with status 400
|
|
11826
|
+
content:
|
|
11827
|
+
application/json:
|
|
11828
|
+
schema:
|
|
11829
|
+
$ref: '#/components/schemas/type_:ValidationErrorResponse'
|
|
11830
|
+
requestBody:
|
|
11831
|
+
content:
|
|
11832
|
+
application/json:
|
|
11833
|
+
schema:
|
|
11834
|
+
$ref: '#/components/schemas/type_agent:AgentSignupRequest'
|
|
11835
|
+
servers:
|
|
11836
|
+
- url: https://api.agentmail.to
|
|
11837
|
+
- url: https://x402.api.agentmail.to
|
|
11838
|
+
- url: https://mpp.api.agentmail.to
|
|
11839
|
+
- url: https://api.agentmail.eu
|
|
11840
|
+
components:
|
|
11841
|
+
schemas:
|
|
11842
|
+
type_agent:AgentSignupRequest:
|
|
11843
|
+
type: object
|
|
11844
|
+
properties:
|
|
11845
|
+
human_email:
|
|
11846
|
+
type: string
|
|
11847
|
+
description: >-
|
|
11848
|
+
Email address of the human who owns the agent. A 6-digit OTP will be
|
|
11849
|
+
sent to this address.
|
|
11850
|
+
username:
|
|
11851
|
+
type: string
|
|
11852
|
+
description: >-
|
|
11853
|
+
Username for the auto-created inbox (e.g. "my-agent" creates
|
|
11854
|
+
my-agent@agentmail.to).
|
|
11855
|
+
required:
|
|
11856
|
+
- human_email
|
|
11857
|
+
- username
|
|
11858
|
+
description: Request body to sign up an agent.
|
|
11859
|
+
title: AgentSignupRequest
|
|
11860
|
+
type_agent:AgentSignupResponse:
|
|
11861
|
+
type: object
|
|
11862
|
+
properties:
|
|
11863
|
+
organization_id:
|
|
11864
|
+
type: string
|
|
11865
|
+
description: ID of the created organization.
|
|
11866
|
+
inbox_id:
|
|
11867
|
+
type: string
|
|
11868
|
+
description: ID of the auto-created inbox.
|
|
11869
|
+
api_key:
|
|
11870
|
+
type: string
|
|
11871
|
+
description: >-
|
|
11872
|
+
API key for authenticating subsequent requests. Store this securely,
|
|
11873
|
+
it cannot be retrieved again.
|
|
11874
|
+
required:
|
|
11875
|
+
- organization_id
|
|
11876
|
+
- inbox_id
|
|
11877
|
+
- api_key
|
|
11878
|
+
description: Response after successful agent sign-up.
|
|
11879
|
+
title: AgentSignupResponse
|
|
11880
|
+
type_:ErrorName:
|
|
11881
|
+
type: string
|
|
11882
|
+
description: Name of error.
|
|
11883
|
+
title: ErrorName
|
|
11884
|
+
type_:ValidationErrorResponse:
|
|
11885
|
+
type: object
|
|
11886
|
+
properties:
|
|
11887
|
+
name:
|
|
11888
|
+
$ref: '#/components/schemas/type_:ErrorName'
|
|
11889
|
+
errors:
|
|
11890
|
+
description: Validation errors.
|
|
11891
|
+
required:
|
|
11892
|
+
- name
|
|
11893
|
+
- errors
|
|
11894
|
+
title: ValidationErrorResponse
|
|
11895
|
+
|
|
11896
|
+
```
|
|
11897
|
+
|
|
11898
|
+
## SDK Code Examples
|
|
11899
|
+
|
|
11900
|
+
```typescript
|
|
11901
|
+
import { AgentMailClient } from "agentmail";
|
|
11902
|
+
|
|
11903
|
+
async function main() {
|
|
11904
|
+
const client = new AgentMailClient();
|
|
11905
|
+
await client.agent.signUp({
|
|
11906
|
+
humanEmail: "human_email",
|
|
11907
|
+
username: "username",
|
|
11908
|
+
});
|
|
11909
|
+
}
|
|
11910
|
+
main();
|
|
11911
|
+
|
|
11912
|
+
```
|
|
11913
|
+
|
|
11914
|
+
```python
|
|
11915
|
+
from agentmail import AgentMail
|
|
11916
|
+
|
|
11917
|
+
client = AgentMail()
|
|
11918
|
+
|
|
11919
|
+
client.agent.sign_up(
|
|
11920
|
+
human_email="human_email",
|
|
11921
|
+
username="username",
|
|
11922
|
+
)
|
|
11923
|
+
|
|
11924
|
+
```
|
|
11925
|
+
|
|
11926
|
+
```go
|
|
11927
|
+
package main
|
|
11928
|
+
|
|
11929
|
+
import (
|
|
11930
|
+
"fmt"
|
|
11931
|
+
"strings"
|
|
11932
|
+
"net/http"
|
|
11933
|
+
"io"
|
|
11934
|
+
)
|
|
11935
|
+
|
|
11936
|
+
func main() {
|
|
11937
|
+
|
|
11938
|
+
url := "https://api.agentmail.to/v0/agent/sign-up"
|
|
11939
|
+
|
|
11940
|
+
payload := strings.NewReader("{\n \"human_email\": \"human_email\",\n \"username\": \"username\"\n}")
|
|
11941
|
+
|
|
11942
|
+
req, _ := http.NewRequest("POST", url, payload)
|
|
11943
|
+
|
|
11944
|
+
req.Header.Add("Content-Type", "application/json")
|
|
11945
|
+
|
|
11946
|
+
res, _ := http.DefaultClient.Do(req)
|
|
11947
|
+
|
|
11948
|
+
defer res.Body.Close()
|
|
11949
|
+
body, _ := io.ReadAll(res.Body)
|
|
11950
|
+
|
|
11951
|
+
fmt.Println(res)
|
|
11952
|
+
fmt.Println(string(body))
|
|
11953
|
+
|
|
11954
|
+
}
|
|
11955
|
+
```
|
|
11956
|
+
|
|
11957
|
+
```ruby
|
|
11958
|
+
require 'uri'
|
|
11959
|
+
require 'net/http'
|
|
11960
|
+
|
|
11961
|
+
url = URI("https://api.agentmail.to/v0/agent/sign-up")
|
|
11962
|
+
|
|
11963
|
+
http = Net::HTTP.new(url.host, url.port)
|
|
11964
|
+
http.use_ssl = true
|
|
11965
|
+
|
|
11966
|
+
request = Net::HTTP::Post.new(url)
|
|
11967
|
+
request["Content-Type"] = 'application/json'
|
|
11968
|
+
request.body = "{\n \"human_email\": \"human_email\",\n \"username\": \"username\"\n}"
|
|
11969
|
+
|
|
11970
|
+
response = http.request(request)
|
|
11971
|
+
puts response.read_body
|
|
11972
|
+
```
|
|
11973
|
+
|
|
11974
|
+
```java
|
|
11975
|
+
import com.mashape.unirest.http.HttpResponse;
|
|
11976
|
+
import com.mashape.unirest.http.Unirest;
|
|
11977
|
+
|
|
11978
|
+
HttpResponse<String> response = Unirest.post("https://api.agentmail.to/v0/agent/sign-up")
|
|
11979
|
+
.header("Content-Type", "application/json")
|
|
11980
|
+
.body("{\n \"human_email\": \"human_email\",\n \"username\": \"username\"\n}")
|
|
11981
|
+
.asString();
|
|
11982
|
+
```
|
|
11983
|
+
|
|
11984
|
+
```php
|
|
11985
|
+
<?php
|
|
11986
|
+
require_once('vendor/autoload.php');
|
|
11987
|
+
|
|
11988
|
+
$client = new \GuzzleHttp\Client();
|
|
11989
|
+
|
|
11990
|
+
$response = $client->request('POST', 'https://api.agentmail.to/v0/agent/sign-up', [
|
|
11991
|
+
'body' => '{
|
|
11992
|
+
"human_email": "human_email",
|
|
11993
|
+
"username": "username"
|
|
11994
|
+
}',
|
|
11995
|
+
'headers' => [
|
|
11996
|
+
'Content-Type' => 'application/json',
|
|
11997
|
+
],
|
|
11998
|
+
]);
|
|
11999
|
+
|
|
12000
|
+
echo $response->getBody();
|
|
12001
|
+
```
|
|
12002
|
+
|
|
12003
|
+
```csharp
|
|
12004
|
+
using RestSharp;
|
|
12005
|
+
|
|
12006
|
+
var client = new RestClient("https://api.agentmail.to/v0/agent/sign-up");
|
|
12007
|
+
var request = new RestRequest(Method.POST);
|
|
12008
|
+
request.AddHeader("Content-Type", "application/json");
|
|
12009
|
+
request.AddParameter("application/json", "{\n \"human_email\": \"human_email\",\n \"username\": \"username\"\n}", ParameterType.RequestBody);
|
|
12010
|
+
IRestResponse response = client.Execute(request);
|
|
12011
|
+
```
|
|
12012
|
+
|
|
12013
|
+
```swift
|
|
12014
|
+
import Foundation
|
|
12015
|
+
|
|
12016
|
+
let headers = ["Content-Type": "application/json"]
|
|
12017
|
+
let parameters = [
|
|
12018
|
+
"human_email": "human_email",
|
|
12019
|
+
"username": "username"
|
|
12020
|
+
] as [String : Any]
|
|
12021
|
+
|
|
12022
|
+
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
|
|
12023
|
+
|
|
12024
|
+
let request = NSMutableURLRequest(url: NSURL(string: "https://api.agentmail.to/v0/agent/sign-up")! as URL,
|
|
12025
|
+
cachePolicy: .useProtocolCachePolicy,
|
|
12026
|
+
timeoutInterval: 10.0)
|
|
12027
|
+
request.httpMethod = "POST"
|
|
12028
|
+
request.allHTTPHeaderFields = headers
|
|
12029
|
+
request.httpBody = postData as Data
|
|
12030
|
+
|
|
12031
|
+
let session = URLSession.shared
|
|
12032
|
+
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
|
|
12033
|
+
if (error != nil) {
|
|
12034
|
+
print(error as Any)
|
|
12035
|
+
} else {
|
|
12036
|
+
let httpResponse = response as? HTTPURLResponse
|
|
12037
|
+
print(httpResponse)
|
|
12038
|
+
}
|
|
12039
|
+
})
|
|
12040
|
+
|
|
12041
|
+
dataTask.resume()
|
|
12042
|
+
```
|
|
12043
|
+
|
|
12044
|
+
# Verify
|
|
12045
|
+
|
|
12046
|
+
POST https://api.agentmail.to/v0/agent/verify
|
|
12047
|
+
Content-Type: application/json
|
|
12048
|
+
|
|
12049
|
+
Verify an agent organization using the 6-digit OTP sent to the human's email during sign-up.
|
|
12050
|
+
|
|
12051
|
+
On success, the organization is upgraded from `agent_unverified` to `agent_verified`, the send allowlist is removed, and free plan entitlements are applied.
|
|
12052
|
+
|
|
12053
|
+
The OTP expires after 24 hours and allows a maximum of 10 attempts.
|
|
12054
|
+
|
|
12055
|
+
Reference: https://docs.agentmail.to/api-reference/agent/verify
|
|
12056
|
+
|
|
12057
|
+
## OpenAPI Specification
|
|
12058
|
+
|
|
12059
|
+
```yaml
|
|
12060
|
+
openapi: 3.1.0
|
|
12061
|
+
info:
|
|
12062
|
+
title: api
|
|
12063
|
+
version: 1.0.0
|
|
12064
|
+
paths:
|
|
12065
|
+
/v0/agent/verify:
|
|
12066
|
+
post:
|
|
12067
|
+
operationId: verify
|
|
12068
|
+
summary: Verify
|
|
12069
|
+
description: >-
|
|
12070
|
+
Verify an agent organization using the 6-digit OTP sent to the human's
|
|
12071
|
+
email during sign-up.
|
|
12072
|
+
|
|
12073
|
+
|
|
12074
|
+
On success, the organization is upgraded from `agent_unverified` to
|
|
12075
|
+
`agent_verified`, the send allowlist is removed, and free plan
|
|
12076
|
+
entitlements are applied.
|
|
12077
|
+
|
|
12078
|
+
|
|
12079
|
+
The OTP expires after 24 hours and allows a maximum of 10 attempts.
|
|
12080
|
+
tags:
|
|
12081
|
+
- subpackage_agent
|
|
12082
|
+
parameters:
|
|
12083
|
+
- name: Authorization
|
|
12084
|
+
in: header
|
|
12085
|
+
description: Bearer authentication
|
|
12086
|
+
required: true
|
|
12087
|
+
schema:
|
|
12088
|
+
type: string
|
|
12089
|
+
responses:
|
|
12090
|
+
'200':
|
|
12091
|
+
description: Response with status 200
|
|
12092
|
+
content:
|
|
12093
|
+
application/json:
|
|
12094
|
+
schema:
|
|
12095
|
+
$ref: '#/components/schemas/type_agent:AgentVerifyResponse'
|
|
12096
|
+
requestBody:
|
|
12097
|
+
content:
|
|
12098
|
+
application/json:
|
|
12099
|
+
schema:
|
|
12100
|
+
$ref: '#/components/schemas/type_agent:AgentVerifyRequest'
|
|
12101
|
+
servers:
|
|
12102
|
+
- url: https://api.agentmail.to
|
|
12103
|
+
- url: https://x402.api.agentmail.to
|
|
12104
|
+
- url: https://mpp.api.agentmail.to
|
|
12105
|
+
- url: https://api.agentmail.eu
|
|
12106
|
+
components:
|
|
12107
|
+
schemas:
|
|
12108
|
+
type_agent:AgentVerifyRequest:
|
|
12109
|
+
type: object
|
|
12110
|
+
properties:
|
|
12111
|
+
otp_code:
|
|
12112
|
+
type: string
|
|
12113
|
+
description: 6-digit verification code sent to the human's email address.
|
|
12114
|
+
required:
|
|
12115
|
+
- otp_code
|
|
12116
|
+
description: Request body to verify an agent with an OTP code.
|
|
12117
|
+
title: AgentVerifyRequest
|
|
12118
|
+
type_agent:AgentVerifyResponse:
|
|
12119
|
+
type: object
|
|
12120
|
+
properties:
|
|
12121
|
+
verified:
|
|
12122
|
+
type: boolean
|
|
12123
|
+
description: Whether the organization was verified.
|
|
12124
|
+
required:
|
|
12125
|
+
- verified
|
|
12126
|
+
description: Response after successful agent verification.
|
|
12127
|
+
title: AgentVerifyResponse
|
|
12128
|
+
securitySchemes:
|
|
12129
|
+
Bearer:
|
|
12130
|
+
type: http
|
|
12131
|
+
scheme: bearer
|
|
12132
|
+
|
|
12133
|
+
```
|
|
12134
|
+
|
|
12135
|
+
## SDK Code Examples
|
|
12136
|
+
|
|
12137
|
+
```typescript
|
|
12138
|
+
import { AgentMailClient } from "agentmail";
|
|
12139
|
+
|
|
12140
|
+
async function main() {
|
|
12141
|
+
const client = new AgentMailClient({
|
|
12142
|
+
apiKey: "YOUR_TOKEN_HERE",
|
|
12143
|
+
});
|
|
12144
|
+
await client.agent.verify({
|
|
12145
|
+
otpCode: "otp_code",
|
|
12146
|
+
});
|
|
12147
|
+
}
|
|
12148
|
+
main();
|
|
12149
|
+
|
|
12150
|
+
```
|
|
12151
|
+
|
|
12152
|
+
```python
|
|
12153
|
+
from agentmail import AgentMail
|
|
12154
|
+
|
|
12155
|
+
client = AgentMail(
|
|
12156
|
+
api_key="YOUR_TOKEN_HERE",
|
|
12157
|
+
)
|
|
12158
|
+
|
|
12159
|
+
client.agent.verify(
|
|
12160
|
+
otp_code="otp_code",
|
|
12161
|
+
)
|
|
12162
|
+
|
|
12163
|
+
```
|
|
12164
|
+
|
|
12165
|
+
```go
|
|
12166
|
+
package main
|
|
12167
|
+
|
|
12168
|
+
import (
|
|
12169
|
+
"fmt"
|
|
12170
|
+
"strings"
|
|
12171
|
+
"net/http"
|
|
12172
|
+
"io"
|
|
12173
|
+
)
|
|
12174
|
+
|
|
12175
|
+
func main() {
|
|
12176
|
+
|
|
12177
|
+
url := "https://api.agentmail.to/v0/agent/verify"
|
|
12178
|
+
|
|
12179
|
+
payload := strings.NewReader("{\n \"otp_code\": \"otp_code\"\n}")
|
|
12180
|
+
|
|
12181
|
+
req, _ := http.NewRequest("POST", url, payload)
|
|
12182
|
+
|
|
12183
|
+
req.Header.Add("Authorization", "Bearer <api_key>")
|
|
12184
|
+
req.Header.Add("Content-Type", "application/json")
|
|
12185
|
+
|
|
12186
|
+
res, _ := http.DefaultClient.Do(req)
|
|
12187
|
+
|
|
12188
|
+
defer res.Body.Close()
|
|
12189
|
+
body, _ := io.ReadAll(res.Body)
|
|
12190
|
+
|
|
12191
|
+
fmt.Println(res)
|
|
12192
|
+
fmt.Println(string(body))
|
|
12193
|
+
|
|
12194
|
+
}
|
|
12195
|
+
```
|
|
12196
|
+
|
|
12197
|
+
```ruby
|
|
12198
|
+
require 'uri'
|
|
12199
|
+
require 'net/http'
|
|
12200
|
+
|
|
12201
|
+
url = URI("https://api.agentmail.to/v0/agent/verify")
|
|
12202
|
+
|
|
12203
|
+
http = Net::HTTP.new(url.host, url.port)
|
|
12204
|
+
http.use_ssl = true
|
|
12205
|
+
|
|
12206
|
+
request = Net::HTTP::Post.new(url)
|
|
12207
|
+
request["Authorization"] = 'Bearer <api_key>'
|
|
12208
|
+
request["Content-Type"] = 'application/json'
|
|
12209
|
+
request.body = "{\n \"otp_code\": \"otp_code\"\n}"
|
|
12210
|
+
|
|
12211
|
+
response = http.request(request)
|
|
12212
|
+
puts response.read_body
|
|
12213
|
+
```
|
|
12214
|
+
|
|
12215
|
+
```java
|
|
12216
|
+
import com.mashape.unirest.http.HttpResponse;
|
|
12217
|
+
import com.mashape.unirest.http.Unirest;
|
|
12218
|
+
|
|
12219
|
+
HttpResponse<String> response = Unirest.post("https://api.agentmail.to/v0/agent/verify")
|
|
12220
|
+
.header("Authorization", "Bearer <api_key>")
|
|
12221
|
+
.header("Content-Type", "application/json")
|
|
12222
|
+
.body("{\n \"otp_code\": \"otp_code\"\n}")
|
|
12223
|
+
.asString();
|
|
12224
|
+
```
|
|
12225
|
+
|
|
12226
|
+
```php
|
|
12227
|
+
<?php
|
|
12228
|
+
require_once('vendor/autoload.php');
|
|
12229
|
+
|
|
12230
|
+
$client = new \GuzzleHttp\Client();
|
|
12231
|
+
|
|
12232
|
+
$response = $client->request('POST', 'https://api.agentmail.to/v0/agent/verify', [
|
|
12233
|
+
'body' => '{
|
|
12234
|
+
"otp_code": "otp_code"
|
|
12235
|
+
}',
|
|
12236
|
+
'headers' => [
|
|
12237
|
+
'Authorization' => 'Bearer <api_key>',
|
|
12238
|
+
'Content-Type' => 'application/json',
|
|
12239
|
+
],
|
|
12240
|
+
]);
|
|
12241
|
+
|
|
12242
|
+
echo $response->getBody();
|
|
12243
|
+
```
|
|
12244
|
+
|
|
12245
|
+
```csharp
|
|
12246
|
+
using RestSharp;
|
|
12247
|
+
|
|
12248
|
+
var client = new RestClient("https://api.agentmail.to/v0/agent/verify");
|
|
12249
|
+
var request = new RestRequest(Method.POST);
|
|
12250
|
+
request.AddHeader("Authorization", "Bearer <api_key>");
|
|
12251
|
+
request.AddHeader("Content-Type", "application/json");
|
|
12252
|
+
request.AddParameter("application/json", "{\n \"otp_code\": \"otp_code\"\n}", ParameterType.RequestBody);
|
|
12253
|
+
IRestResponse response = client.Execute(request);
|
|
12254
|
+
```
|
|
12255
|
+
|
|
12256
|
+
```swift
|
|
12257
|
+
import Foundation
|
|
12258
|
+
|
|
12259
|
+
let headers = [
|
|
12260
|
+
"Authorization": "Bearer <api_key>",
|
|
12261
|
+
"Content-Type": "application/json"
|
|
12262
|
+
]
|
|
12263
|
+
let parameters = ["otp_code": "otp_code"] as [String : Any]
|
|
12264
|
+
|
|
12265
|
+
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
|
|
12266
|
+
|
|
12267
|
+
let request = NSMutableURLRequest(url: NSURL(string: "https://api.agentmail.to/v0/agent/verify")! as URL,
|
|
12268
|
+
cachePolicy: .useProtocolCachePolicy,
|
|
12269
|
+
timeoutInterval: 10.0)
|
|
12270
|
+
request.httpMethod = "POST"
|
|
12271
|
+
request.allHTTPHeaderFields = headers
|
|
12272
|
+
request.httpBody = postData as Data
|
|
12273
|
+
|
|
12274
|
+
let session = URLSession.shared
|
|
12275
|
+
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
|
|
12276
|
+
if (error != nil) {
|
|
12277
|
+
print(error as Any)
|
|
12278
|
+
} else {
|
|
12279
|
+
let httpResponse = response as? HTTPURLResponse
|
|
12280
|
+
print(httpResponse)
|
|
12281
|
+
}
|
|
12282
|
+
})
|
|
12283
|
+
|
|
12284
|
+
dataTask.resume()
|
|
12285
|
+
```
|
|
12286
|
+
|
|
11661
12287
|
# List Inboxes
|
|
11662
12288
|
|
|
11663
12289
|
GET https://api.agentmail.to/v0/inboxes
|
|
@@ -22160,109 +22786,109 @@ components:
|
|
|
22160
22786
|
type_api-keys:ApiKeyPermissions:
|
|
22161
22787
|
type: object
|
|
22162
22788
|
properties:
|
|
22163
|
-
|
|
22789
|
+
inbox_read:
|
|
22164
22790
|
type: boolean
|
|
22165
22791
|
description: Read inbox details.
|
|
22166
|
-
|
|
22792
|
+
inbox_create:
|
|
22167
22793
|
type: boolean
|
|
22168
22794
|
description: Create new inboxes.
|
|
22169
|
-
|
|
22795
|
+
inbox_update:
|
|
22170
22796
|
type: boolean
|
|
22171
22797
|
description: Update inbox settings.
|
|
22172
|
-
|
|
22798
|
+
inbox_delete:
|
|
22173
22799
|
type: boolean
|
|
22174
22800
|
description: Delete inboxes.
|
|
22175
|
-
|
|
22801
|
+
thread_read:
|
|
22176
22802
|
type: boolean
|
|
22177
22803
|
description: Read threads.
|
|
22178
|
-
|
|
22804
|
+
thread_delete:
|
|
22179
22805
|
type: boolean
|
|
22180
22806
|
description: Delete threads.
|
|
22181
|
-
|
|
22807
|
+
message_read:
|
|
22182
22808
|
type: boolean
|
|
22183
22809
|
description: Read messages.
|
|
22184
|
-
|
|
22810
|
+
message_send:
|
|
22185
22811
|
type: boolean
|
|
22186
22812
|
description: Send messages.
|
|
22187
|
-
|
|
22813
|
+
message_update:
|
|
22188
22814
|
type: boolean
|
|
22189
22815
|
description: Update message labels.
|
|
22190
|
-
|
|
22816
|
+
label_spam_read:
|
|
22191
22817
|
type: boolean
|
|
22192
22818
|
description: Access messages labeled spam.
|
|
22193
|
-
|
|
22819
|
+
label_blocked_read:
|
|
22194
22820
|
type: boolean
|
|
22195
22821
|
description: Access messages labeled blocked.
|
|
22196
|
-
|
|
22822
|
+
label_trash_read:
|
|
22197
22823
|
type: boolean
|
|
22198
22824
|
description: Access messages labeled trash.
|
|
22199
|
-
|
|
22825
|
+
draft_read:
|
|
22200
22826
|
type: boolean
|
|
22201
22827
|
description: Read drafts.
|
|
22202
|
-
|
|
22828
|
+
draft_create:
|
|
22203
22829
|
type: boolean
|
|
22204
22830
|
description: Create drafts.
|
|
22205
|
-
|
|
22831
|
+
draft_update:
|
|
22206
22832
|
type: boolean
|
|
22207
22833
|
description: Update drafts.
|
|
22208
|
-
|
|
22834
|
+
draft_delete:
|
|
22209
22835
|
type: boolean
|
|
22210
22836
|
description: Delete drafts.
|
|
22211
|
-
|
|
22837
|
+
draft_send:
|
|
22212
22838
|
type: boolean
|
|
22213
22839
|
description: Send drafts.
|
|
22214
|
-
|
|
22840
|
+
webhook_read:
|
|
22215
22841
|
type: boolean
|
|
22216
22842
|
description: Read webhook configurations.
|
|
22217
|
-
|
|
22843
|
+
webhook_create:
|
|
22218
22844
|
type: boolean
|
|
22219
22845
|
description: Create webhooks.
|
|
22220
|
-
|
|
22846
|
+
webhook_update:
|
|
22221
22847
|
type: boolean
|
|
22222
22848
|
description: Update webhooks.
|
|
22223
|
-
|
|
22849
|
+
webhook_delete:
|
|
22224
22850
|
type: boolean
|
|
22225
22851
|
description: Delete webhooks.
|
|
22226
|
-
|
|
22852
|
+
domain_read:
|
|
22227
22853
|
type: boolean
|
|
22228
22854
|
description: Read domain details.
|
|
22229
|
-
|
|
22855
|
+
domain_create:
|
|
22230
22856
|
type: boolean
|
|
22231
22857
|
description: Create domains.
|
|
22232
|
-
|
|
22858
|
+
domain_update:
|
|
22233
22859
|
type: boolean
|
|
22234
22860
|
description: Update domains.
|
|
22235
|
-
|
|
22861
|
+
domain_delete:
|
|
22236
22862
|
type: boolean
|
|
22237
22863
|
description: Delete domains.
|
|
22238
|
-
|
|
22864
|
+
list_entry_read:
|
|
22239
22865
|
type: boolean
|
|
22240
22866
|
description: Read list entries.
|
|
22241
|
-
|
|
22867
|
+
list_entry_create:
|
|
22242
22868
|
type: boolean
|
|
22243
22869
|
description: Create list entries.
|
|
22244
|
-
|
|
22870
|
+
list_entry_delete:
|
|
22245
22871
|
type: boolean
|
|
22246
22872
|
description: Delete list entries.
|
|
22247
|
-
|
|
22873
|
+
metrics_read:
|
|
22248
22874
|
type: boolean
|
|
22249
22875
|
description: Read metrics.
|
|
22250
|
-
|
|
22876
|
+
api_key_read:
|
|
22251
22877
|
type: boolean
|
|
22252
22878
|
description: Read API keys.
|
|
22253
|
-
|
|
22879
|
+
api_key_create:
|
|
22254
22880
|
type: boolean
|
|
22255
22881
|
description: Create API keys.
|
|
22256
|
-
|
|
22882
|
+
api_key_delete:
|
|
22257
22883
|
type: boolean
|
|
22258
22884
|
description: Delete API keys.
|
|
22259
|
-
|
|
22885
|
+
pod_read:
|
|
22260
22886
|
type: boolean
|
|
22261
22887
|
description: Read pods.
|
|
22262
|
-
|
|
22888
|
+
pod_create:
|
|
22263
22889
|
type: boolean
|
|
22264
22890
|
description: Create pods.
|
|
22265
|
-
|
|
22891
|
+
pod_delete:
|
|
22266
22892
|
type: boolean
|
|
22267
22893
|
description: Delete pods.
|
|
22268
22894
|
description: >-
|
|
@@ -22553,109 +23179,109 @@ components:
|
|
|
22553
23179
|
type_api-keys:ApiKeyPermissions:
|
|
22554
23180
|
type: object
|
|
22555
23181
|
properties:
|
|
22556
|
-
|
|
23182
|
+
inbox_read:
|
|
22557
23183
|
type: boolean
|
|
22558
23184
|
description: Read inbox details.
|
|
22559
|
-
|
|
23185
|
+
inbox_create:
|
|
22560
23186
|
type: boolean
|
|
22561
23187
|
description: Create new inboxes.
|
|
22562
|
-
|
|
23188
|
+
inbox_update:
|
|
22563
23189
|
type: boolean
|
|
22564
23190
|
description: Update inbox settings.
|
|
22565
|
-
|
|
23191
|
+
inbox_delete:
|
|
22566
23192
|
type: boolean
|
|
22567
23193
|
description: Delete inboxes.
|
|
22568
|
-
|
|
23194
|
+
thread_read:
|
|
22569
23195
|
type: boolean
|
|
22570
23196
|
description: Read threads.
|
|
22571
|
-
|
|
23197
|
+
thread_delete:
|
|
22572
23198
|
type: boolean
|
|
22573
23199
|
description: Delete threads.
|
|
22574
|
-
|
|
23200
|
+
message_read:
|
|
22575
23201
|
type: boolean
|
|
22576
23202
|
description: Read messages.
|
|
22577
|
-
|
|
23203
|
+
message_send:
|
|
22578
23204
|
type: boolean
|
|
22579
23205
|
description: Send messages.
|
|
22580
|
-
|
|
23206
|
+
message_update:
|
|
22581
23207
|
type: boolean
|
|
22582
23208
|
description: Update message labels.
|
|
22583
|
-
|
|
23209
|
+
label_spam_read:
|
|
22584
23210
|
type: boolean
|
|
22585
23211
|
description: Access messages labeled spam.
|
|
22586
|
-
|
|
23212
|
+
label_blocked_read:
|
|
22587
23213
|
type: boolean
|
|
22588
23214
|
description: Access messages labeled blocked.
|
|
22589
|
-
|
|
23215
|
+
label_trash_read:
|
|
22590
23216
|
type: boolean
|
|
22591
23217
|
description: Access messages labeled trash.
|
|
22592
|
-
|
|
23218
|
+
draft_read:
|
|
22593
23219
|
type: boolean
|
|
22594
23220
|
description: Read drafts.
|
|
22595
|
-
|
|
23221
|
+
draft_create:
|
|
22596
23222
|
type: boolean
|
|
22597
23223
|
description: Create drafts.
|
|
22598
|
-
|
|
23224
|
+
draft_update:
|
|
22599
23225
|
type: boolean
|
|
22600
23226
|
description: Update drafts.
|
|
22601
|
-
|
|
23227
|
+
draft_delete:
|
|
22602
23228
|
type: boolean
|
|
22603
23229
|
description: Delete drafts.
|
|
22604
|
-
|
|
23230
|
+
draft_send:
|
|
22605
23231
|
type: boolean
|
|
22606
23232
|
description: Send drafts.
|
|
22607
|
-
|
|
23233
|
+
webhook_read:
|
|
22608
23234
|
type: boolean
|
|
22609
23235
|
description: Read webhook configurations.
|
|
22610
|
-
|
|
23236
|
+
webhook_create:
|
|
22611
23237
|
type: boolean
|
|
22612
23238
|
description: Create webhooks.
|
|
22613
|
-
|
|
23239
|
+
webhook_update:
|
|
22614
23240
|
type: boolean
|
|
22615
23241
|
description: Update webhooks.
|
|
22616
|
-
|
|
23242
|
+
webhook_delete:
|
|
22617
23243
|
type: boolean
|
|
22618
23244
|
description: Delete webhooks.
|
|
22619
|
-
|
|
23245
|
+
domain_read:
|
|
22620
23246
|
type: boolean
|
|
22621
23247
|
description: Read domain details.
|
|
22622
|
-
|
|
23248
|
+
domain_create:
|
|
22623
23249
|
type: boolean
|
|
22624
23250
|
description: Create domains.
|
|
22625
|
-
|
|
23251
|
+
domain_update:
|
|
22626
23252
|
type: boolean
|
|
22627
23253
|
description: Update domains.
|
|
22628
|
-
|
|
23254
|
+
domain_delete:
|
|
22629
23255
|
type: boolean
|
|
22630
23256
|
description: Delete domains.
|
|
22631
|
-
|
|
23257
|
+
list_entry_read:
|
|
22632
23258
|
type: boolean
|
|
22633
23259
|
description: Read list entries.
|
|
22634
|
-
|
|
23260
|
+
list_entry_create:
|
|
22635
23261
|
type: boolean
|
|
22636
23262
|
description: Create list entries.
|
|
22637
|
-
|
|
23263
|
+
list_entry_delete:
|
|
22638
23264
|
type: boolean
|
|
22639
23265
|
description: Delete list entries.
|
|
22640
|
-
|
|
23266
|
+
metrics_read:
|
|
22641
23267
|
type: boolean
|
|
22642
23268
|
description: Read metrics.
|
|
22643
|
-
|
|
23269
|
+
api_key_read:
|
|
22644
23270
|
type: boolean
|
|
22645
23271
|
description: Read API keys.
|
|
22646
|
-
|
|
23272
|
+
api_key_create:
|
|
22647
23273
|
type: boolean
|
|
22648
23274
|
description: Create API keys.
|
|
22649
|
-
|
|
23275
|
+
api_key_delete:
|
|
22650
23276
|
type: boolean
|
|
22651
23277
|
description: Delete API keys.
|
|
22652
|
-
|
|
23278
|
+
pod_read:
|
|
22653
23279
|
type: boolean
|
|
22654
23280
|
description: Read pods.
|
|
22655
|
-
|
|
23281
|
+
pod_create:
|
|
22656
23282
|
type: boolean
|
|
22657
23283
|
description: Create pods.
|
|
22658
|
-
|
|
23284
|
+
pod_delete:
|
|
22659
23285
|
type: boolean
|
|
22660
23286
|
description: Delete pods.
|
|
22661
23287
|
description: >-
|
|
@@ -32853,109 +33479,109 @@ components:
|
|
|
32853
33479
|
type_api-keys:ApiKeyPermissions:
|
|
32854
33480
|
type: object
|
|
32855
33481
|
properties:
|
|
32856
|
-
|
|
33482
|
+
inbox_read:
|
|
32857
33483
|
type: boolean
|
|
32858
33484
|
description: Read inbox details.
|
|
32859
|
-
|
|
33485
|
+
inbox_create:
|
|
32860
33486
|
type: boolean
|
|
32861
33487
|
description: Create new inboxes.
|
|
32862
|
-
|
|
33488
|
+
inbox_update:
|
|
32863
33489
|
type: boolean
|
|
32864
33490
|
description: Update inbox settings.
|
|
32865
|
-
|
|
33491
|
+
inbox_delete:
|
|
32866
33492
|
type: boolean
|
|
32867
33493
|
description: Delete inboxes.
|
|
32868
|
-
|
|
33494
|
+
thread_read:
|
|
32869
33495
|
type: boolean
|
|
32870
33496
|
description: Read threads.
|
|
32871
|
-
|
|
33497
|
+
thread_delete:
|
|
32872
33498
|
type: boolean
|
|
32873
33499
|
description: Delete threads.
|
|
32874
|
-
|
|
33500
|
+
message_read:
|
|
32875
33501
|
type: boolean
|
|
32876
33502
|
description: Read messages.
|
|
32877
|
-
|
|
33503
|
+
message_send:
|
|
32878
33504
|
type: boolean
|
|
32879
33505
|
description: Send messages.
|
|
32880
|
-
|
|
33506
|
+
message_update:
|
|
32881
33507
|
type: boolean
|
|
32882
33508
|
description: Update message labels.
|
|
32883
|
-
|
|
33509
|
+
label_spam_read:
|
|
32884
33510
|
type: boolean
|
|
32885
33511
|
description: Access messages labeled spam.
|
|
32886
|
-
|
|
33512
|
+
label_blocked_read:
|
|
32887
33513
|
type: boolean
|
|
32888
33514
|
description: Access messages labeled blocked.
|
|
32889
|
-
|
|
33515
|
+
label_trash_read:
|
|
32890
33516
|
type: boolean
|
|
32891
33517
|
description: Access messages labeled trash.
|
|
32892
|
-
|
|
33518
|
+
draft_read:
|
|
32893
33519
|
type: boolean
|
|
32894
33520
|
description: Read drafts.
|
|
32895
|
-
|
|
33521
|
+
draft_create:
|
|
32896
33522
|
type: boolean
|
|
32897
33523
|
description: Create drafts.
|
|
32898
|
-
|
|
33524
|
+
draft_update:
|
|
32899
33525
|
type: boolean
|
|
32900
33526
|
description: Update drafts.
|
|
32901
|
-
|
|
33527
|
+
draft_delete:
|
|
32902
33528
|
type: boolean
|
|
32903
33529
|
description: Delete drafts.
|
|
32904
|
-
|
|
33530
|
+
draft_send:
|
|
32905
33531
|
type: boolean
|
|
32906
33532
|
description: Send drafts.
|
|
32907
|
-
|
|
33533
|
+
webhook_read:
|
|
32908
33534
|
type: boolean
|
|
32909
33535
|
description: Read webhook configurations.
|
|
32910
|
-
|
|
33536
|
+
webhook_create:
|
|
32911
33537
|
type: boolean
|
|
32912
33538
|
description: Create webhooks.
|
|
32913
|
-
|
|
33539
|
+
webhook_update:
|
|
32914
33540
|
type: boolean
|
|
32915
33541
|
description: Update webhooks.
|
|
32916
|
-
|
|
33542
|
+
webhook_delete:
|
|
32917
33543
|
type: boolean
|
|
32918
33544
|
description: Delete webhooks.
|
|
32919
|
-
|
|
33545
|
+
domain_read:
|
|
32920
33546
|
type: boolean
|
|
32921
33547
|
description: Read domain details.
|
|
32922
|
-
|
|
33548
|
+
domain_create:
|
|
32923
33549
|
type: boolean
|
|
32924
33550
|
description: Create domains.
|
|
32925
|
-
|
|
33551
|
+
domain_update:
|
|
32926
33552
|
type: boolean
|
|
32927
33553
|
description: Update domains.
|
|
32928
|
-
|
|
33554
|
+
domain_delete:
|
|
32929
33555
|
type: boolean
|
|
32930
33556
|
description: Delete domains.
|
|
32931
|
-
|
|
33557
|
+
list_entry_read:
|
|
32932
33558
|
type: boolean
|
|
32933
33559
|
description: Read list entries.
|
|
32934
|
-
|
|
33560
|
+
list_entry_create:
|
|
32935
33561
|
type: boolean
|
|
32936
33562
|
description: Create list entries.
|
|
32937
|
-
|
|
33563
|
+
list_entry_delete:
|
|
32938
33564
|
type: boolean
|
|
32939
33565
|
description: Delete list entries.
|
|
32940
|
-
|
|
33566
|
+
metrics_read:
|
|
32941
33567
|
type: boolean
|
|
32942
33568
|
description: Read metrics.
|
|
32943
|
-
|
|
33569
|
+
api_key_read:
|
|
32944
33570
|
type: boolean
|
|
32945
33571
|
description: Read API keys.
|
|
32946
|
-
|
|
33572
|
+
api_key_create:
|
|
32947
33573
|
type: boolean
|
|
32948
33574
|
description: Create API keys.
|
|
32949
|
-
|
|
33575
|
+
api_key_delete:
|
|
32950
33576
|
type: boolean
|
|
32951
33577
|
description: Delete API keys.
|
|
32952
|
-
|
|
33578
|
+
pod_read:
|
|
32953
33579
|
type: boolean
|
|
32954
33580
|
description: Read pods.
|
|
32955
|
-
|
|
33581
|
+
pod_create:
|
|
32956
33582
|
type: boolean
|
|
32957
33583
|
description: Create pods.
|
|
32958
|
-
|
|
33584
|
+
pod_delete:
|
|
32959
33585
|
type: boolean
|
|
32960
33586
|
description: Delete pods.
|
|
32961
33587
|
description: >-
|
|
@@ -33210,109 +33836,109 @@ components:
|
|
|
33210
33836
|
type_api-keys:ApiKeyPermissions:
|
|
33211
33837
|
type: object
|
|
33212
33838
|
properties:
|
|
33213
|
-
|
|
33839
|
+
inbox_read:
|
|
33214
33840
|
type: boolean
|
|
33215
33841
|
description: Read inbox details.
|
|
33216
|
-
|
|
33842
|
+
inbox_create:
|
|
33217
33843
|
type: boolean
|
|
33218
33844
|
description: Create new inboxes.
|
|
33219
|
-
|
|
33845
|
+
inbox_update:
|
|
33220
33846
|
type: boolean
|
|
33221
33847
|
description: Update inbox settings.
|
|
33222
|
-
|
|
33848
|
+
inbox_delete:
|
|
33223
33849
|
type: boolean
|
|
33224
33850
|
description: Delete inboxes.
|
|
33225
|
-
|
|
33851
|
+
thread_read:
|
|
33226
33852
|
type: boolean
|
|
33227
33853
|
description: Read threads.
|
|
33228
|
-
|
|
33854
|
+
thread_delete:
|
|
33229
33855
|
type: boolean
|
|
33230
33856
|
description: Delete threads.
|
|
33231
|
-
|
|
33857
|
+
message_read:
|
|
33232
33858
|
type: boolean
|
|
33233
33859
|
description: Read messages.
|
|
33234
|
-
|
|
33860
|
+
message_send:
|
|
33235
33861
|
type: boolean
|
|
33236
33862
|
description: Send messages.
|
|
33237
|
-
|
|
33863
|
+
message_update:
|
|
33238
33864
|
type: boolean
|
|
33239
33865
|
description: Update message labels.
|
|
33240
|
-
|
|
33866
|
+
label_spam_read:
|
|
33241
33867
|
type: boolean
|
|
33242
33868
|
description: Access messages labeled spam.
|
|
33243
|
-
|
|
33869
|
+
label_blocked_read:
|
|
33244
33870
|
type: boolean
|
|
33245
33871
|
description: Access messages labeled blocked.
|
|
33246
|
-
|
|
33872
|
+
label_trash_read:
|
|
33247
33873
|
type: boolean
|
|
33248
33874
|
description: Access messages labeled trash.
|
|
33249
|
-
|
|
33875
|
+
draft_read:
|
|
33250
33876
|
type: boolean
|
|
33251
33877
|
description: Read drafts.
|
|
33252
|
-
|
|
33878
|
+
draft_create:
|
|
33253
33879
|
type: boolean
|
|
33254
33880
|
description: Create drafts.
|
|
33255
|
-
|
|
33881
|
+
draft_update:
|
|
33256
33882
|
type: boolean
|
|
33257
33883
|
description: Update drafts.
|
|
33258
|
-
|
|
33884
|
+
draft_delete:
|
|
33259
33885
|
type: boolean
|
|
33260
33886
|
description: Delete drafts.
|
|
33261
|
-
|
|
33887
|
+
draft_send:
|
|
33262
33888
|
type: boolean
|
|
33263
33889
|
description: Send drafts.
|
|
33264
|
-
|
|
33890
|
+
webhook_read:
|
|
33265
33891
|
type: boolean
|
|
33266
33892
|
description: Read webhook configurations.
|
|
33267
|
-
|
|
33893
|
+
webhook_create:
|
|
33268
33894
|
type: boolean
|
|
33269
33895
|
description: Create webhooks.
|
|
33270
|
-
|
|
33896
|
+
webhook_update:
|
|
33271
33897
|
type: boolean
|
|
33272
33898
|
description: Update webhooks.
|
|
33273
|
-
|
|
33899
|
+
webhook_delete:
|
|
33274
33900
|
type: boolean
|
|
33275
33901
|
description: Delete webhooks.
|
|
33276
|
-
|
|
33902
|
+
domain_read:
|
|
33277
33903
|
type: boolean
|
|
33278
33904
|
description: Read domain details.
|
|
33279
|
-
|
|
33905
|
+
domain_create:
|
|
33280
33906
|
type: boolean
|
|
33281
33907
|
description: Create domains.
|
|
33282
|
-
|
|
33908
|
+
domain_update:
|
|
33283
33909
|
type: boolean
|
|
33284
33910
|
description: Update domains.
|
|
33285
|
-
|
|
33911
|
+
domain_delete:
|
|
33286
33912
|
type: boolean
|
|
33287
33913
|
description: Delete domains.
|
|
33288
|
-
|
|
33914
|
+
list_entry_read:
|
|
33289
33915
|
type: boolean
|
|
33290
33916
|
description: Read list entries.
|
|
33291
|
-
|
|
33917
|
+
list_entry_create:
|
|
33292
33918
|
type: boolean
|
|
33293
33919
|
description: Create list entries.
|
|
33294
|
-
|
|
33920
|
+
list_entry_delete:
|
|
33295
33921
|
type: boolean
|
|
33296
33922
|
description: Delete list entries.
|
|
33297
|
-
|
|
33923
|
+
metrics_read:
|
|
33298
33924
|
type: boolean
|
|
33299
33925
|
description: Read metrics.
|
|
33300
|
-
|
|
33926
|
+
api_key_read:
|
|
33301
33927
|
type: boolean
|
|
33302
33928
|
description: Read API keys.
|
|
33303
|
-
|
|
33929
|
+
api_key_create:
|
|
33304
33930
|
type: boolean
|
|
33305
33931
|
description: Create API keys.
|
|
33306
|
-
|
|
33932
|
+
api_key_delete:
|
|
33307
33933
|
type: boolean
|
|
33308
33934
|
description: Delete API keys.
|
|
33309
|
-
|
|
33935
|
+
pod_read:
|
|
33310
33936
|
type: boolean
|
|
33311
33937
|
description: Read pods.
|
|
33312
|
-
|
|
33938
|
+
pod_create:
|
|
33313
33939
|
type: boolean
|
|
33314
33940
|
description: Create pods.
|
|
33315
|
-
|
|
33941
|
+
pod_delete:
|
|
33316
33942
|
type: boolean
|
|
33317
33943
|
description: Delete pods.
|
|
33318
33944
|
description: >-
|
|
@@ -42361,109 +42987,109 @@ components:
|
|
|
42361
42987
|
type_api-keys:ApiKeyPermissions:
|
|
42362
42988
|
type: object
|
|
42363
42989
|
properties:
|
|
42364
|
-
|
|
42990
|
+
inbox_read:
|
|
42365
42991
|
type: boolean
|
|
42366
42992
|
description: Read inbox details.
|
|
42367
|
-
|
|
42993
|
+
inbox_create:
|
|
42368
42994
|
type: boolean
|
|
42369
42995
|
description: Create new inboxes.
|
|
42370
|
-
|
|
42996
|
+
inbox_update:
|
|
42371
42997
|
type: boolean
|
|
42372
42998
|
description: Update inbox settings.
|
|
42373
|
-
|
|
42999
|
+
inbox_delete:
|
|
42374
43000
|
type: boolean
|
|
42375
43001
|
description: Delete inboxes.
|
|
42376
|
-
|
|
43002
|
+
thread_read:
|
|
42377
43003
|
type: boolean
|
|
42378
43004
|
description: Read threads.
|
|
42379
|
-
|
|
43005
|
+
thread_delete:
|
|
42380
43006
|
type: boolean
|
|
42381
43007
|
description: Delete threads.
|
|
42382
|
-
|
|
43008
|
+
message_read:
|
|
42383
43009
|
type: boolean
|
|
42384
43010
|
description: Read messages.
|
|
42385
|
-
|
|
43011
|
+
message_send:
|
|
42386
43012
|
type: boolean
|
|
42387
43013
|
description: Send messages.
|
|
42388
|
-
|
|
43014
|
+
message_update:
|
|
42389
43015
|
type: boolean
|
|
42390
43016
|
description: Update message labels.
|
|
42391
|
-
|
|
43017
|
+
label_spam_read:
|
|
42392
43018
|
type: boolean
|
|
42393
43019
|
description: Access messages labeled spam.
|
|
42394
|
-
|
|
43020
|
+
label_blocked_read:
|
|
42395
43021
|
type: boolean
|
|
42396
43022
|
description: Access messages labeled blocked.
|
|
42397
|
-
|
|
43023
|
+
label_trash_read:
|
|
42398
43024
|
type: boolean
|
|
42399
43025
|
description: Access messages labeled trash.
|
|
42400
|
-
|
|
43026
|
+
draft_read:
|
|
42401
43027
|
type: boolean
|
|
42402
43028
|
description: Read drafts.
|
|
42403
|
-
|
|
43029
|
+
draft_create:
|
|
42404
43030
|
type: boolean
|
|
42405
43031
|
description: Create drafts.
|
|
42406
|
-
|
|
43032
|
+
draft_update:
|
|
42407
43033
|
type: boolean
|
|
42408
43034
|
description: Update drafts.
|
|
42409
|
-
|
|
43035
|
+
draft_delete:
|
|
42410
43036
|
type: boolean
|
|
42411
43037
|
description: Delete drafts.
|
|
42412
|
-
|
|
43038
|
+
draft_send:
|
|
42413
43039
|
type: boolean
|
|
42414
43040
|
description: Send drafts.
|
|
42415
|
-
|
|
43041
|
+
webhook_read:
|
|
42416
43042
|
type: boolean
|
|
42417
43043
|
description: Read webhook configurations.
|
|
42418
|
-
|
|
43044
|
+
webhook_create:
|
|
42419
43045
|
type: boolean
|
|
42420
43046
|
description: Create webhooks.
|
|
42421
|
-
|
|
43047
|
+
webhook_update:
|
|
42422
43048
|
type: boolean
|
|
42423
43049
|
description: Update webhooks.
|
|
42424
|
-
|
|
43050
|
+
webhook_delete:
|
|
42425
43051
|
type: boolean
|
|
42426
43052
|
description: Delete webhooks.
|
|
42427
|
-
|
|
43053
|
+
domain_read:
|
|
42428
43054
|
type: boolean
|
|
42429
43055
|
description: Read domain details.
|
|
42430
|
-
|
|
43056
|
+
domain_create:
|
|
42431
43057
|
type: boolean
|
|
42432
43058
|
description: Create domains.
|
|
42433
|
-
|
|
43059
|
+
domain_update:
|
|
42434
43060
|
type: boolean
|
|
42435
43061
|
description: Update domains.
|
|
42436
|
-
|
|
43062
|
+
domain_delete:
|
|
42437
43063
|
type: boolean
|
|
42438
43064
|
description: Delete domains.
|
|
42439
|
-
|
|
43065
|
+
list_entry_read:
|
|
42440
43066
|
type: boolean
|
|
42441
43067
|
description: Read list entries.
|
|
42442
|
-
|
|
43068
|
+
list_entry_create:
|
|
42443
43069
|
type: boolean
|
|
42444
43070
|
description: Create list entries.
|
|
42445
|
-
|
|
43071
|
+
list_entry_delete:
|
|
42446
43072
|
type: boolean
|
|
42447
43073
|
description: Delete list entries.
|
|
42448
|
-
|
|
43074
|
+
metrics_read:
|
|
42449
43075
|
type: boolean
|
|
42450
43076
|
description: Read metrics.
|
|
42451
|
-
|
|
43077
|
+
api_key_read:
|
|
42452
43078
|
type: boolean
|
|
42453
43079
|
description: Read API keys.
|
|
42454
|
-
|
|
43080
|
+
api_key_create:
|
|
42455
43081
|
type: boolean
|
|
42456
43082
|
description: Create API keys.
|
|
42457
|
-
|
|
43083
|
+
api_key_delete:
|
|
42458
43084
|
type: boolean
|
|
42459
43085
|
description: Delete API keys.
|
|
42460
|
-
|
|
43086
|
+
pod_read:
|
|
42461
43087
|
type: boolean
|
|
42462
43088
|
description: Read pods.
|
|
42463
|
-
|
|
43089
|
+
pod_create:
|
|
42464
43090
|
type: boolean
|
|
42465
43091
|
description: Create pods.
|
|
42466
|
-
|
|
43092
|
+
pod_delete:
|
|
42467
43093
|
type: boolean
|
|
42468
43094
|
description: Delete pods.
|
|
42469
43095
|
description: >-
|
|
@@ -42754,109 +43380,109 @@ components:
|
|
|
42754
43380
|
type_api-keys:ApiKeyPermissions:
|
|
42755
43381
|
type: object
|
|
42756
43382
|
properties:
|
|
42757
|
-
|
|
43383
|
+
inbox_read:
|
|
42758
43384
|
type: boolean
|
|
42759
43385
|
description: Read inbox details.
|
|
42760
|
-
|
|
43386
|
+
inbox_create:
|
|
42761
43387
|
type: boolean
|
|
42762
43388
|
description: Create new inboxes.
|
|
42763
|
-
|
|
43389
|
+
inbox_update:
|
|
42764
43390
|
type: boolean
|
|
42765
43391
|
description: Update inbox settings.
|
|
42766
|
-
|
|
43392
|
+
inbox_delete:
|
|
42767
43393
|
type: boolean
|
|
42768
43394
|
description: Delete inboxes.
|
|
42769
|
-
|
|
43395
|
+
thread_read:
|
|
42770
43396
|
type: boolean
|
|
42771
43397
|
description: Read threads.
|
|
42772
|
-
|
|
43398
|
+
thread_delete:
|
|
42773
43399
|
type: boolean
|
|
42774
43400
|
description: Delete threads.
|
|
42775
|
-
|
|
43401
|
+
message_read:
|
|
42776
43402
|
type: boolean
|
|
42777
43403
|
description: Read messages.
|
|
42778
|
-
|
|
43404
|
+
message_send:
|
|
42779
43405
|
type: boolean
|
|
42780
43406
|
description: Send messages.
|
|
42781
|
-
|
|
43407
|
+
message_update:
|
|
42782
43408
|
type: boolean
|
|
42783
43409
|
description: Update message labels.
|
|
42784
|
-
|
|
43410
|
+
label_spam_read:
|
|
42785
43411
|
type: boolean
|
|
42786
43412
|
description: Access messages labeled spam.
|
|
42787
|
-
|
|
43413
|
+
label_blocked_read:
|
|
42788
43414
|
type: boolean
|
|
42789
43415
|
description: Access messages labeled blocked.
|
|
42790
|
-
|
|
43416
|
+
label_trash_read:
|
|
42791
43417
|
type: boolean
|
|
42792
43418
|
description: Access messages labeled trash.
|
|
42793
|
-
|
|
43419
|
+
draft_read:
|
|
42794
43420
|
type: boolean
|
|
42795
43421
|
description: Read drafts.
|
|
42796
|
-
|
|
43422
|
+
draft_create:
|
|
42797
43423
|
type: boolean
|
|
42798
43424
|
description: Create drafts.
|
|
42799
|
-
|
|
43425
|
+
draft_update:
|
|
42800
43426
|
type: boolean
|
|
42801
43427
|
description: Update drafts.
|
|
42802
|
-
|
|
43428
|
+
draft_delete:
|
|
42803
43429
|
type: boolean
|
|
42804
43430
|
description: Delete drafts.
|
|
42805
|
-
|
|
43431
|
+
draft_send:
|
|
42806
43432
|
type: boolean
|
|
42807
43433
|
description: Send drafts.
|
|
42808
|
-
|
|
43434
|
+
webhook_read:
|
|
42809
43435
|
type: boolean
|
|
42810
43436
|
description: Read webhook configurations.
|
|
42811
|
-
|
|
43437
|
+
webhook_create:
|
|
42812
43438
|
type: boolean
|
|
42813
43439
|
description: Create webhooks.
|
|
42814
|
-
|
|
43440
|
+
webhook_update:
|
|
42815
43441
|
type: boolean
|
|
42816
43442
|
description: Update webhooks.
|
|
42817
|
-
|
|
43443
|
+
webhook_delete:
|
|
42818
43444
|
type: boolean
|
|
42819
43445
|
description: Delete webhooks.
|
|
42820
|
-
|
|
43446
|
+
domain_read:
|
|
42821
43447
|
type: boolean
|
|
42822
43448
|
description: Read domain details.
|
|
42823
|
-
|
|
43449
|
+
domain_create:
|
|
42824
43450
|
type: boolean
|
|
42825
43451
|
description: Create domains.
|
|
42826
|
-
|
|
43452
|
+
domain_update:
|
|
42827
43453
|
type: boolean
|
|
42828
43454
|
description: Update domains.
|
|
42829
|
-
|
|
43455
|
+
domain_delete:
|
|
42830
43456
|
type: boolean
|
|
42831
43457
|
description: Delete domains.
|
|
42832
|
-
|
|
43458
|
+
list_entry_read:
|
|
42833
43459
|
type: boolean
|
|
42834
43460
|
description: Read list entries.
|
|
42835
|
-
|
|
43461
|
+
list_entry_create:
|
|
42836
43462
|
type: boolean
|
|
42837
43463
|
description: Create list entries.
|
|
42838
|
-
|
|
43464
|
+
list_entry_delete:
|
|
42839
43465
|
type: boolean
|
|
42840
43466
|
description: Delete list entries.
|
|
42841
|
-
|
|
43467
|
+
metrics_read:
|
|
42842
43468
|
type: boolean
|
|
42843
43469
|
description: Read metrics.
|
|
42844
|
-
|
|
43470
|
+
api_key_read:
|
|
42845
43471
|
type: boolean
|
|
42846
43472
|
description: Read API keys.
|
|
42847
|
-
|
|
43473
|
+
api_key_create:
|
|
42848
43474
|
type: boolean
|
|
42849
43475
|
description: Create API keys.
|
|
42850
|
-
|
|
43476
|
+
api_key_delete:
|
|
42851
43477
|
type: boolean
|
|
42852
43478
|
description: Delete API keys.
|
|
42853
|
-
|
|
43479
|
+
pod_read:
|
|
42854
43480
|
type: boolean
|
|
42855
43481
|
description: Read pods.
|
|
42856
|
-
|
|
43482
|
+
pod_create:
|
|
42857
43483
|
type: boolean
|
|
42858
43484
|
description: Create pods.
|
|
42859
|
-
|
|
43485
|
+
pod_delete:
|
|
42860
43486
|
type: boolean
|
|
42861
43487
|
description: Delete pods.
|
|
42862
43488
|
description: >-
|