@1claw/openapi-spec 0.61.27 → 0.61.29
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/openapi.json +317 -3
- package/openapi.yaml +185 -4
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "1Claw API",
|
|
5
|
-
"version": "0.61.
|
|
5
|
+
"version": "0.61.29",
|
|
6
6
|
"description": "Secure secret management for AI agents. Provides vaults, secrets,\npolicy-based access control, agent identity, Intents API,\nsharing, billing, and audit logging. Automations (workflow_spec,\nwebhook tokens, event triggers, Assist), cloud runtimes with\ninteractive shell sessions, agent memory, and discovery.\n\n## Domains\n\n`api.1claw.co` is canonical: it is the OIDC issuer, the `aud` the API\nmints, and the first entry in `servers` — a generated client takes its\nbase URL from there, and the previous ordering pointed every SDK at the\ndomain the issuer had already left. `api.1claw.xyz` still answers and is\nstill accepted on token validation, because tokens minted before the\nmove carry it; it is never minted now.\n\nOne deliberate exception: the Shroud attestation identity token is\nrequested from GCP with `audience: https://api.1claw.xyz`, so\n`/v1/shroud/attestation` reports that as its `expected_audience`. That\nis accurate rather than stale — the audience is a verification contract\nwith anyone already checking the token, and moving it is a breaking\nchange for them, not a rename.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
|
|
7
7
|
"contact": {
|
|
8
8
|
"email": "ops@1claw.co"
|
|
@@ -23544,6 +23544,203 @@
|
|
|
23544
23544
|
}
|
|
23545
23545
|
}
|
|
23546
23546
|
},
|
|
23547
|
+
"/v1/agents/{agent_id}/event-subscriptions": {
|
|
23548
|
+
"post": {
|
|
23549
|
+
"tags": [
|
|
23550
|
+
"Connectors"
|
|
23551
|
+
],
|
|
23552
|
+
"summary": "Subscribe to a connector event source",
|
|
23553
|
+
"description": "Pairs an installed connector binding with one of its preset's event\nsources (see `event_sources` on `GET /v1/connectors/presets`). 1Claw\nthen polls the source through the binding — same host and path\nallowlists, same credential, same SSRF guard — keeps the item ids it has\nseen, and dispatches each new item as an automation event of\n`event_type`, so an automation with `trigger_type: event` and\n`event_filter: { \"event_type\": \"gmail.message.received\" }` reacts within\none poll interval instead of on a cron it has to dedupe itself.\n\nThe first poll primes the subscription: it records what already exists\nand emits nothing, so a new subscription does not replay the inbox. At\nmost 25 new items are emitted per poll (oldest first); lists come from\nthe source's first page only. Failures back off exponentially on the\ninterval and switch the subscription off after 20 in a row.\n\nHuman users only; the agent needs Execution Intents enabled. At most 20\nsubscriptions per agent. The event payload is\n`{ \"event_type\", \"payload\": { \"subscription_id\", \"binding_id\", \"binding\", \"connector\", \"item\" } }`.\n",
|
|
23554
|
+
"operationId": "createEventSubscription",
|
|
23555
|
+
"parameters": [
|
|
23556
|
+
{
|
|
23557
|
+
"$ref": "#/components/parameters/AgentId"
|
|
23558
|
+
}
|
|
23559
|
+
],
|
|
23560
|
+
"requestBody": {
|
|
23561
|
+
"required": true,
|
|
23562
|
+
"content": {
|
|
23563
|
+
"application/json": {
|
|
23564
|
+
"schema": {
|
|
23565
|
+
"type": "object",
|
|
23566
|
+
"required": [
|
|
23567
|
+
"binding_id",
|
|
23568
|
+
"event_type"
|
|
23569
|
+
],
|
|
23570
|
+
"properties": {
|
|
23571
|
+
"binding_id": {
|
|
23572
|
+
"type": "string",
|
|
23573
|
+
"format": "uuid"
|
|
23574
|
+
},
|
|
23575
|
+
"event_type": {
|
|
23576
|
+
"type": "string",
|
|
23577
|
+
"example": "gmail.message.received"
|
|
23578
|
+
},
|
|
23579
|
+
"interval_secs": {
|
|
23580
|
+
"type": "integer",
|
|
23581
|
+
"description": "Poll interval, at least the source's `min_interval_secs` and at most 86400. Defaults to the minimum."
|
|
23582
|
+
}
|
|
23583
|
+
}
|
|
23584
|
+
}
|
|
23585
|
+
}
|
|
23586
|
+
}
|
|
23587
|
+
},
|
|
23588
|
+
"responses": {
|
|
23589
|
+
"201": {
|
|
23590
|
+
"description": "Subscribed",
|
|
23591
|
+
"content": {
|
|
23592
|
+
"application/json": {
|
|
23593
|
+
"schema": {
|
|
23594
|
+
"$ref": "#/components/schemas/EventSubscription"
|
|
23595
|
+
}
|
|
23596
|
+
}
|
|
23597
|
+
}
|
|
23598
|
+
},
|
|
23599
|
+
"400": {
|
|
23600
|
+
"$ref": "#/components/responses/BadRequest"
|
|
23601
|
+
},
|
|
23602
|
+
"403": {
|
|
23603
|
+
"$ref": "#/components/responses/Forbidden"
|
|
23604
|
+
},
|
|
23605
|
+
"404": {
|
|
23606
|
+
"$ref": "#/components/responses/NotFound"
|
|
23607
|
+
},
|
|
23608
|
+
"409": {
|
|
23609
|
+
"description": "This binding already subscribes to that event type"
|
|
23610
|
+
}
|
|
23611
|
+
}
|
|
23612
|
+
},
|
|
23613
|
+
"get": {
|
|
23614
|
+
"tags": [
|
|
23615
|
+
"Connectors"
|
|
23616
|
+
],
|
|
23617
|
+
"summary": "List an agent's event subscriptions",
|
|
23618
|
+
"operationId": "listEventSubscriptions",
|
|
23619
|
+
"parameters": [
|
|
23620
|
+
{
|
|
23621
|
+
"$ref": "#/components/parameters/AgentId"
|
|
23622
|
+
}
|
|
23623
|
+
],
|
|
23624
|
+
"responses": {
|
|
23625
|
+
"200": {
|
|
23626
|
+
"description": "Subscriptions",
|
|
23627
|
+
"content": {
|
|
23628
|
+
"application/json": {
|
|
23629
|
+
"schema": {
|
|
23630
|
+
"type": "object",
|
|
23631
|
+
"properties": {
|
|
23632
|
+
"subscriptions": {
|
|
23633
|
+
"type": "array",
|
|
23634
|
+
"items": {
|
|
23635
|
+
"$ref": "#/components/schemas/EventSubscription"
|
|
23636
|
+
}
|
|
23637
|
+
}
|
|
23638
|
+
}
|
|
23639
|
+
}
|
|
23640
|
+
}
|
|
23641
|
+
}
|
|
23642
|
+
},
|
|
23643
|
+
"403": {
|
|
23644
|
+
"$ref": "#/components/responses/Forbidden"
|
|
23645
|
+
},
|
|
23646
|
+
"404": {
|
|
23647
|
+
"$ref": "#/components/responses/NotFound"
|
|
23648
|
+
}
|
|
23649
|
+
}
|
|
23650
|
+
}
|
|
23651
|
+
},
|
|
23652
|
+
"/v1/agents/{agent_id}/event-subscriptions/{id}": {
|
|
23653
|
+
"delete": {
|
|
23654
|
+
"tags": [
|
|
23655
|
+
"Connectors"
|
|
23656
|
+
],
|
|
23657
|
+
"summary": "Delete an event subscription",
|
|
23658
|
+
"description": "Human users only.",
|
|
23659
|
+
"operationId": "deleteEventSubscription",
|
|
23660
|
+
"parameters": [
|
|
23661
|
+
{
|
|
23662
|
+
"$ref": "#/components/parameters/AgentId"
|
|
23663
|
+
},
|
|
23664
|
+
{
|
|
23665
|
+
"name": "id",
|
|
23666
|
+
"in": "path",
|
|
23667
|
+
"required": true,
|
|
23668
|
+
"schema": {
|
|
23669
|
+
"type": "string",
|
|
23670
|
+
"format": "uuid"
|
|
23671
|
+
}
|
|
23672
|
+
}
|
|
23673
|
+
],
|
|
23674
|
+
"responses": {
|
|
23675
|
+
"204": {
|
|
23676
|
+
"description": "Deleted"
|
|
23677
|
+
},
|
|
23678
|
+
"403": {
|
|
23679
|
+
"$ref": "#/components/responses/Forbidden"
|
|
23680
|
+
},
|
|
23681
|
+
"404": {
|
|
23682
|
+
"$ref": "#/components/responses/NotFound"
|
|
23683
|
+
}
|
|
23684
|
+
}
|
|
23685
|
+
}
|
|
23686
|
+
},
|
|
23687
|
+
"/v1/agents/{agent_id}/event-subscriptions/{id}/poll": {
|
|
23688
|
+
"post": {
|
|
23689
|
+
"tags": [
|
|
23690
|
+
"Connectors"
|
|
23691
|
+
],
|
|
23692
|
+
"summary": "Poll an event subscription now",
|
|
23693
|
+
"description": "Runs one poll immediately instead of waiting for the interval. The first\npoll of a fresh subscription primes it; a subscription switched off by\nrepeated failures is switched back on if the poll succeeds. Human users\nonly. A failed poll returns 400 with the source's error and is recorded\non the subscription like a scheduled failure.\n",
|
|
23694
|
+
"operationId": "pollEventSubscriptionNow",
|
|
23695
|
+
"parameters": [
|
|
23696
|
+
{
|
|
23697
|
+
"$ref": "#/components/parameters/AgentId"
|
|
23698
|
+
},
|
|
23699
|
+
{
|
|
23700
|
+
"name": "id",
|
|
23701
|
+
"in": "path",
|
|
23702
|
+
"required": true,
|
|
23703
|
+
"schema": {
|
|
23704
|
+
"type": "string",
|
|
23705
|
+
"format": "uuid"
|
|
23706
|
+
}
|
|
23707
|
+
}
|
|
23708
|
+
],
|
|
23709
|
+
"responses": {
|
|
23710
|
+
"200": {
|
|
23711
|
+
"description": "Polled",
|
|
23712
|
+
"content": {
|
|
23713
|
+
"application/json": {
|
|
23714
|
+
"schema": {
|
|
23715
|
+
"type": "object",
|
|
23716
|
+
"required": [
|
|
23717
|
+
"emitted",
|
|
23718
|
+
"subscription"
|
|
23719
|
+
],
|
|
23720
|
+
"properties": {
|
|
23721
|
+
"emitted": {
|
|
23722
|
+
"type": "integer"
|
|
23723
|
+
},
|
|
23724
|
+
"subscription": {
|
|
23725
|
+
"$ref": "#/components/schemas/EventSubscription"
|
|
23726
|
+
}
|
|
23727
|
+
}
|
|
23728
|
+
}
|
|
23729
|
+
}
|
|
23730
|
+
}
|
|
23731
|
+
},
|
|
23732
|
+
"400": {
|
|
23733
|
+
"$ref": "#/components/responses/BadRequest"
|
|
23734
|
+
},
|
|
23735
|
+
"403": {
|
|
23736
|
+
"$ref": "#/components/responses/Forbidden"
|
|
23737
|
+
},
|
|
23738
|
+
"404": {
|
|
23739
|
+
"$ref": "#/components/responses/NotFound"
|
|
23740
|
+
}
|
|
23741
|
+
}
|
|
23742
|
+
}
|
|
23743
|
+
},
|
|
23547
23744
|
"/v1/agents/{agent_id}/oauth/connections": {
|
|
23548
23745
|
"get": {
|
|
23549
23746
|
"tags": [
|
|
@@ -35661,6 +35858,7 @@
|
|
|
35661
35858
|
"type": "string",
|
|
35662
35859
|
"enum": [
|
|
35663
35860
|
"pro",
|
|
35861
|
+
"team",
|
|
35664
35862
|
"business"
|
|
35665
35863
|
]
|
|
35666
35864
|
},
|
|
@@ -35668,12 +35866,14 @@
|
|
|
35668
35866
|
"type": "string",
|
|
35669
35867
|
"enum": [
|
|
35670
35868
|
"monthly",
|
|
35671
|
-
"
|
|
35869
|
+
"annual"
|
|
35672
35870
|
]
|
|
35673
35871
|
},
|
|
35674
35872
|
"trial": {
|
|
35675
35873
|
"type": "boolean",
|
|
35676
|
-
"default":
|
|
35874
|
+
"default": false,
|
|
35875
|
+
"deprecated": true,
|
|
35876
|
+
"description": "Accepted and ignored — plans no longer start with a trial (2026-09-19); checkout charges on completion."
|
|
35677
35877
|
}
|
|
35678
35878
|
}
|
|
35679
35879
|
},
|
|
@@ -39539,6 +39739,120 @@
|
|
|
39539
39739
|
},
|
|
39540
39740
|
"requires_oauth": {
|
|
39541
39741
|
"type": "boolean"
|
|
39742
|
+
},
|
|
39743
|
+
"event_sources": {
|
|
39744
|
+
"type": "array",
|
|
39745
|
+
"description": "Events 1Claw can synthesise for this connector by polling a list\nendpoint through the installed binding (nanobots item 4, polling\ninterim). Subscribe with `POST /v1/agents/{agent_id}/event-subscriptions`.\n",
|
|
39746
|
+
"items": {
|
|
39747
|
+
"$ref": "#/components/schemas/ConnectorEventSource"
|
|
39748
|
+
}
|
|
39749
|
+
}
|
|
39750
|
+
}
|
|
39751
|
+
},
|
|
39752
|
+
"ConnectorEventSource": {
|
|
39753
|
+
"type": "object",
|
|
39754
|
+
"required": [
|
|
39755
|
+
"event_type",
|
|
39756
|
+
"description",
|
|
39757
|
+
"path",
|
|
39758
|
+
"items_pointer",
|
|
39759
|
+
"id_pointers",
|
|
39760
|
+
"min_interval_secs"
|
|
39761
|
+
],
|
|
39762
|
+
"properties": {
|
|
39763
|
+
"event_type": {
|
|
39764
|
+
"type": "string",
|
|
39765
|
+
"example": "gmail.message.received"
|
|
39766
|
+
},
|
|
39767
|
+
"description": {
|
|
39768
|
+
"type": "string"
|
|
39769
|
+
},
|
|
39770
|
+
"path": {
|
|
39771
|
+
"type": "string",
|
|
39772
|
+
"description": "Path (with query) relative to the binding's base URL, inside the preset's allowed paths."
|
|
39773
|
+
},
|
|
39774
|
+
"items_pointer": {
|
|
39775
|
+
"type": "string",
|
|
39776
|
+
"description": "JSON pointer to the array of items in the response body; empty means the body is the array."
|
|
39777
|
+
},
|
|
39778
|
+
"id_pointers": {
|
|
39779
|
+
"type": "array",
|
|
39780
|
+
"items": {
|
|
39781
|
+
"type": "string"
|
|
39782
|
+
},
|
|
39783
|
+
"description": "Pointers within one item whose values together identify it."
|
|
39784
|
+
},
|
|
39785
|
+
"min_interval_secs": {
|
|
39786
|
+
"type": "integer",
|
|
39787
|
+
"example": 60
|
|
39788
|
+
}
|
|
39789
|
+
}
|
|
39790
|
+
},
|
|
39791
|
+
"EventSubscription": {
|
|
39792
|
+
"type": "object",
|
|
39793
|
+
"required": [
|
|
39794
|
+
"id",
|
|
39795
|
+
"agent_id",
|
|
39796
|
+
"binding_id",
|
|
39797
|
+
"event_type",
|
|
39798
|
+
"interval_secs",
|
|
39799
|
+
"is_active",
|
|
39800
|
+
"primed",
|
|
39801
|
+
"next_poll_at",
|
|
39802
|
+
"consecutive_errors",
|
|
39803
|
+
"events_emitted",
|
|
39804
|
+
"created_at"
|
|
39805
|
+
],
|
|
39806
|
+
"properties": {
|
|
39807
|
+
"id": {
|
|
39808
|
+
"type": "string",
|
|
39809
|
+
"format": "uuid"
|
|
39810
|
+
},
|
|
39811
|
+
"agent_id": {
|
|
39812
|
+
"type": "string",
|
|
39813
|
+
"format": "uuid"
|
|
39814
|
+
},
|
|
39815
|
+
"binding_id": {
|
|
39816
|
+
"type": "string",
|
|
39817
|
+
"format": "uuid"
|
|
39818
|
+
},
|
|
39819
|
+
"event_type": {
|
|
39820
|
+
"type": "string",
|
|
39821
|
+
"example": "gmail.message.received"
|
|
39822
|
+
},
|
|
39823
|
+
"interval_secs": {
|
|
39824
|
+
"type": "integer"
|
|
39825
|
+
},
|
|
39826
|
+
"is_active": {
|
|
39827
|
+
"type": "boolean"
|
|
39828
|
+
},
|
|
39829
|
+
"primed": {
|
|
39830
|
+
"type": "boolean",
|
|
39831
|
+
"description": "False until the first poll has recorded what already exists. That poll emits nothing."
|
|
39832
|
+
},
|
|
39833
|
+
"next_poll_at": {
|
|
39834
|
+
"type": "string",
|
|
39835
|
+
"format": "date-time"
|
|
39836
|
+
},
|
|
39837
|
+
"last_polled_at": {
|
|
39838
|
+
"type": "string",
|
|
39839
|
+
"format": "date-time",
|
|
39840
|
+
"nullable": true
|
|
39841
|
+
},
|
|
39842
|
+
"last_error": {
|
|
39843
|
+
"type": "string",
|
|
39844
|
+
"nullable": true
|
|
39845
|
+
},
|
|
39846
|
+
"consecutive_errors": {
|
|
39847
|
+
"type": "integer"
|
|
39848
|
+
},
|
|
39849
|
+
"events_emitted": {
|
|
39850
|
+
"type": "integer",
|
|
39851
|
+
"format": "int64"
|
|
39852
|
+
},
|
|
39853
|
+
"created_at": {
|
|
39854
|
+
"type": "string",
|
|
39855
|
+
"format": "date-time"
|
|
39542
39856
|
}
|
|
39543
39857
|
}
|
|
39544
39858
|
},
|
package/openapi.yaml
CHANGED
|
@@ -2,7 +2,7 @@ openapi: 3.1.0
|
|
|
2
2
|
|
|
3
3
|
info:
|
|
4
4
|
title: 1Claw API
|
|
5
|
-
version: "0.61.
|
|
5
|
+
version: "0.61.29"
|
|
6
6
|
description: |
|
|
7
7
|
Secure secret management for AI agents. Provides vaults, secrets,
|
|
8
8
|
policy-based access control, agent identity, Intents API,
|
|
@@ -15047,6 +15047,139 @@ paths:
|
|
|
15047
15047
|
"404":
|
|
15048
15048
|
$ref: "#/components/responses/NotFound"
|
|
15049
15049
|
|
|
15050
|
+
/v1/agents/{agent_id}/event-subscriptions:
|
|
15051
|
+
post:
|
|
15052
|
+
tags: [Connectors]
|
|
15053
|
+
summary: Subscribe to a connector event source
|
|
15054
|
+
description: |
|
|
15055
|
+
Pairs an installed connector binding with one of its preset's event
|
|
15056
|
+
sources (see `event_sources` on `GET /v1/connectors/presets`). 1Claw
|
|
15057
|
+
then polls the source through the binding — same host and path
|
|
15058
|
+
allowlists, same credential, same SSRF guard — keeps the item ids it has
|
|
15059
|
+
seen, and dispatches each new item as an automation event of
|
|
15060
|
+
`event_type`, so an automation with `trigger_type: event` and
|
|
15061
|
+
`event_filter: { "event_type": "gmail.message.received" }` reacts within
|
|
15062
|
+
one poll interval instead of on a cron it has to dedupe itself.
|
|
15063
|
+
|
|
15064
|
+
The first poll primes the subscription: it records what already exists
|
|
15065
|
+
and emits nothing, so a new subscription does not replay the inbox. At
|
|
15066
|
+
most 25 new items are emitted per poll (oldest first); lists come from
|
|
15067
|
+
the source's first page only. Failures back off exponentially on the
|
|
15068
|
+
interval and switch the subscription off after 20 in a row.
|
|
15069
|
+
|
|
15070
|
+
Human users only; the agent needs Execution Intents enabled. At most 20
|
|
15071
|
+
subscriptions per agent. The event payload is
|
|
15072
|
+
`{ "event_type", "payload": { "subscription_id", "binding_id", "binding", "connector", "item" } }`.
|
|
15073
|
+
operationId: createEventSubscription
|
|
15074
|
+
parameters:
|
|
15075
|
+
- $ref: "#/components/parameters/AgentId"
|
|
15076
|
+
requestBody:
|
|
15077
|
+
required: true
|
|
15078
|
+
content:
|
|
15079
|
+
application/json:
|
|
15080
|
+
schema:
|
|
15081
|
+
type: object
|
|
15082
|
+
required: [binding_id, event_type]
|
|
15083
|
+
properties:
|
|
15084
|
+
binding_id: { type: string, format: uuid }
|
|
15085
|
+
event_type: { type: string, example: gmail.message.received }
|
|
15086
|
+
interval_secs:
|
|
15087
|
+
type: integer
|
|
15088
|
+
description: Poll interval, at least the source's `min_interval_secs` and at most 86400. Defaults to the minimum.
|
|
15089
|
+
responses:
|
|
15090
|
+
"201":
|
|
15091
|
+
description: Subscribed
|
|
15092
|
+
content:
|
|
15093
|
+
application/json:
|
|
15094
|
+
schema:
|
|
15095
|
+
$ref: "#/components/schemas/EventSubscription"
|
|
15096
|
+
"400":
|
|
15097
|
+
$ref: "#/components/responses/BadRequest"
|
|
15098
|
+
"403":
|
|
15099
|
+
$ref: "#/components/responses/Forbidden"
|
|
15100
|
+
"404":
|
|
15101
|
+
$ref: "#/components/responses/NotFound"
|
|
15102
|
+
"409":
|
|
15103
|
+
description: This binding already subscribes to that event type
|
|
15104
|
+
get:
|
|
15105
|
+
tags: [Connectors]
|
|
15106
|
+
summary: List an agent's event subscriptions
|
|
15107
|
+
operationId: listEventSubscriptions
|
|
15108
|
+
parameters:
|
|
15109
|
+
- $ref: "#/components/parameters/AgentId"
|
|
15110
|
+
responses:
|
|
15111
|
+
"200":
|
|
15112
|
+
description: Subscriptions
|
|
15113
|
+
content:
|
|
15114
|
+
application/json:
|
|
15115
|
+
schema:
|
|
15116
|
+
type: object
|
|
15117
|
+
properties:
|
|
15118
|
+
subscriptions:
|
|
15119
|
+
type: array
|
|
15120
|
+
items:
|
|
15121
|
+
$ref: "#/components/schemas/EventSubscription"
|
|
15122
|
+
"403":
|
|
15123
|
+
$ref: "#/components/responses/Forbidden"
|
|
15124
|
+
"404":
|
|
15125
|
+
$ref: "#/components/responses/NotFound"
|
|
15126
|
+
|
|
15127
|
+
/v1/agents/{agent_id}/event-subscriptions/{id}:
|
|
15128
|
+
delete:
|
|
15129
|
+
tags: [Connectors]
|
|
15130
|
+
summary: Delete an event subscription
|
|
15131
|
+
description: Human users only.
|
|
15132
|
+
operationId: deleteEventSubscription
|
|
15133
|
+
parameters:
|
|
15134
|
+
- $ref: "#/components/parameters/AgentId"
|
|
15135
|
+
- name: id
|
|
15136
|
+
in: path
|
|
15137
|
+
required: true
|
|
15138
|
+
schema: { type: string, format: uuid }
|
|
15139
|
+
responses:
|
|
15140
|
+
"204":
|
|
15141
|
+
description: Deleted
|
|
15142
|
+
"403":
|
|
15143
|
+
$ref: "#/components/responses/Forbidden"
|
|
15144
|
+
"404":
|
|
15145
|
+
$ref: "#/components/responses/NotFound"
|
|
15146
|
+
|
|
15147
|
+
/v1/agents/{agent_id}/event-subscriptions/{id}/poll:
|
|
15148
|
+
post:
|
|
15149
|
+
tags: [Connectors]
|
|
15150
|
+
summary: Poll an event subscription now
|
|
15151
|
+
description: |
|
|
15152
|
+
Runs one poll immediately instead of waiting for the interval. The first
|
|
15153
|
+
poll of a fresh subscription primes it; a subscription switched off by
|
|
15154
|
+
repeated failures is switched back on if the poll succeeds. Human users
|
|
15155
|
+
only. A failed poll returns 400 with the source's error and is recorded
|
|
15156
|
+
on the subscription like a scheduled failure.
|
|
15157
|
+
operationId: pollEventSubscriptionNow
|
|
15158
|
+
parameters:
|
|
15159
|
+
- $ref: "#/components/parameters/AgentId"
|
|
15160
|
+
- name: id
|
|
15161
|
+
in: path
|
|
15162
|
+
required: true
|
|
15163
|
+
schema: { type: string, format: uuid }
|
|
15164
|
+
responses:
|
|
15165
|
+
"200":
|
|
15166
|
+
description: Polled
|
|
15167
|
+
content:
|
|
15168
|
+
application/json:
|
|
15169
|
+
schema:
|
|
15170
|
+
type: object
|
|
15171
|
+
required: [emitted, subscription]
|
|
15172
|
+
properties:
|
|
15173
|
+
emitted: { type: integer }
|
|
15174
|
+
subscription:
|
|
15175
|
+
$ref: "#/components/schemas/EventSubscription"
|
|
15176
|
+
"400":
|
|
15177
|
+
$ref: "#/components/responses/BadRequest"
|
|
15178
|
+
"403":
|
|
15179
|
+
$ref: "#/components/responses/Forbidden"
|
|
15180
|
+
"404":
|
|
15181
|
+
$ref: "#/components/responses/NotFound"
|
|
15182
|
+
|
|
15050
15183
|
/v1/agents/{agent_id}/oauth/connections:
|
|
15051
15184
|
get:
|
|
15052
15185
|
tags: [OAuth Connect]
|
|
@@ -23133,13 +23266,15 @@ components:
|
|
|
23133
23266
|
properties:
|
|
23134
23267
|
tier:
|
|
23135
23268
|
type: string
|
|
23136
|
-
enum: [pro, business]
|
|
23269
|
+
enum: [pro, team, business]
|
|
23137
23270
|
interval:
|
|
23138
23271
|
type: string
|
|
23139
|
-
enum: [monthly,
|
|
23272
|
+
enum: [monthly, annual]
|
|
23140
23273
|
trial:
|
|
23141
23274
|
type: boolean
|
|
23142
|
-
default:
|
|
23275
|
+
default: false
|
|
23276
|
+
deprecated: true
|
|
23277
|
+
description: Accepted and ignored — plans no longer start with a trial (2026-09-19); checkout charges on completion.
|
|
23143
23278
|
|
|
23144
23279
|
TopupRequest:
|
|
23145
23280
|
type: object
|
|
@@ -25662,6 +25797,52 @@ components:
|
|
|
25662
25797
|
documentation_url: { type: string, format: uri }
|
|
25663
25798
|
tier_required: { type: string, example: free }
|
|
25664
25799
|
requires_oauth: { type: boolean }
|
|
25800
|
+
event_sources:
|
|
25801
|
+
type: array
|
|
25802
|
+
description: |
|
|
25803
|
+
Events 1Claw can synthesise for this connector by polling a list
|
|
25804
|
+
endpoint through the installed binding (nanobots item 4, polling
|
|
25805
|
+
interim). Subscribe with `POST /v1/agents/{agent_id}/event-subscriptions`.
|
|
25806
|
+
items:
|
|
25807
|
+
$ref: "#/components/schemas/ConnectorEventSource"
|
|
25808
|
+
|
|
25809
|
+
ConnectorEventSource:
|
|
25810
|
+
type: object
|
|
25811
|
+
required: [event_type, description, path, items_pointer, id_pointers, min_interval_secs]
|
|
25812
|
+
properties:
|
|
25813
|
+
event_type: { type: string, example: gmail.message.received }
|
|
25814
|
+
description: { type: string }
|
|
25815
|
+
path:
|
|
25816
|
+
type: string
|
|
25817
|
+
description: Path (with query) relative to the binding's base URL, inside the preset's allowed paths.
|
|
25818
|
+
items_pointer:
|
|
25819
|
+
type: string
|
|
25820
|
+
description: JSON pointer to the array of items in the response body; empty means the body is the array.
|
|
25821
|
+
id_pointers:
|
|
25822
|
+
type: array
|
|
25823
|
+
items: { type: string }
|
|
25824
|
+
description: Pointers within one item whose values together identify it.
|
|
25825
|
+
min_interval_secs: { type: integer, example: 60 }
|
|
25826
|
+
|
|
25827
|
+
EventSubscription:
|
|
25828
|
+
type: object
|
|
25829
|
+
required: [id, agent_id, binding_id, event_type, interval_secs, is_active, primed, next_poll_at, consecutive_errors, events_emitted, created_at]
|
|
25830
|
+
properties:
|
|
25831
|
+
id: { type: string, format: uuid }
|
|
25832
|
+
agent_id: { type: string, format: uuid }
|
|
25833
|
+
binding_id: { type: string, format: uuid }
|
|
25834
|
+
event_type: { type: string, example: gmail.message.received }
|
|
25835
|
+
interval_secs: { type: integer }
|
|
25836
|
+
is_active: { type: boolean }
|
|
25837
|
+
primed:
|
|
25838
|
+
type: boolean
|
|
25839
|
+
description: False until the first poll has recorded what already exists. That poll emits nothing.
|
|
25840
|
+
next_poll_at: { type: string, format: date-time }
|
|
25841
|
+
last_polled_at: { type: string, format: date-time, nullable: true }
|
|
25842
|
+
last_error: { type: string, nullable: true }
|
|
25843
|
+
consecutive_errors: { type: integer }
|
|
25844
|
+
events_emitted: { type: integer, format: int64 }
|
|
25845
|
+
created_at: { type: string, format: date-time }
|
|
25665
25846
|
|
|
25666
25847
|
InstalledConnector:
|
|
25667
25848
|
type: object
|