Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions specification/DigitalOcean-public.v2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ tags:
The Add-Ons API allows you to manage these resources, including creating, listing, and retrieving
details about specific add-on resources.

- name: Action Gateway
description: |-
Discover Action Gateway tools and providers, manage versioned toolbelts and
OAuth connections, and create policy-bound sessions for end users.

- name: Apps
description: |-
App Platform is a Platform-as-a-Service (PaaS) offering from DigitalOcean that allows
Expand Down Expand Up @@ -662,6 +667,7 @@ x-tagGroups:
- Account
- Actions
- Add-Ons
- Action Gateway
- Apps
- Billing
- Block Storage
Expand Down Expand Up @@ -718,6 +724,74 @@ x-tagGroups:
- Serverless Inference

paths:
/v2/action-gateway/tools:
get:
$ref: "resources/action_gateway/tools_list.yml"

/v2/action-gateway/tools/toolkits:
get:
$ref: "resources/action_gateway/tools_list_toolkits.yml"

/v2/action-gateway/tools/providers:
get:
$ref: "resources/action_gateway/tools_list_providers.yml"

/v2/action-gateway/tools/{name}/definition:
get:
$ref: "resources/action_gateway/tools_get_definition.yml"

/v2/action-gateway/toolbelts:
get:
$ref: "resources/action_gateway/toolbelts_list.yml"
post:
$ref: "resources/action_gateway/toolbelts_create.yml"

/v2/action-gateway/toolbelts/{name}:
get:
$ref: "resources/action_gateway/toolbelts_get.yml"
delete:
$ref: "resources/action_gateway/toolbelts_delete.yml"

/v2/action-gateway/toolbelts/{name}/tools/add:
post:
$ref: "resources/action_gateway/toolbelts_add_tools.yml"

/v2/action-gateway/toolbelts/{name}/tools/remove:
post:
$ref: "resources/action_gateway/toolbelts_remove_tools.yml"

/v2/action-gateway/connections:
get:
$ref: "resources/action_gateway/connections_list.yml"
post:
$ref: "resources/action_gateway/connections_create.yml"

/v2/action-gateway/connections/{id}:
get:
$ref: "resources/action_gateway/connections_get.yml"
patch:
$ref: "resources/action_gateway/connections_update.yml"
delete:
$ref: "resources/action_gateway/connections_delete.yml"

/v2/action-gateway/users:
get:
$ref: "resources/action_gateway/users_list.yml"

/v2/action-gateway/users/{user_id}:
get:
$ref: "resources/action_gateway/users_get.yml"

/v2/action-gateway/sessions:
get:
$ref: "resources/action_gateway/sessions_list.yml"
post:
$ref: "resources/action_gateway/sessions_create.yml"

/v2/action-gateway/sessions/{session_urn}:
delete:
$ref: "resources/action_gateway/sessions_delete.yml"

/v2/1-clicks:
get:
$ref: "resources/1-clicks/oneClicks_list.yml"
Expand Down
44 changes: 44 additions & 0 deletions specification/resources/action_gateway/connections_create.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
operationId: connections_create
summary: Create a Connection
description: Creates or begins authorization for an OAuth connection to an
Action Gateway provider.
tags:
- Action Gateway
requestBody:
required: true
content:
application/json:
schema:
$ref: models.yml#/create_connection_request
examples:
connections_create_request:
$ref: examples.yml#/connections_create_request
responses:
"200":
description: The connection was created or authorization was started.
headers:
$ref: response_headers.yml
content:
application/json:
schema:
$ref: models.yml#/create_connection_response
examples:
connections_create_response:
$ref: examples.yml#/connections_create_response
"400":
$ref: ../../shared/responses/bad_request.yml
"401":
$ref: ../../shared/responses/unauthorized.yml
"409":
$ref: ../../shared/responses/conflict.yml
"429":
$ref: ../../shared/responses/too_many_requests.yml
"500":
$ref: ../../shared/responses/server_error.yml
default:
$ref: ../../shared/responses/unexpected_error.yml
security:
- bearer_auth:
- genai:create
x-codeSamples:
- $ref: examples/curl/connections_create.yml
40 changes: 40 additions & 0 deletions specification/resources/action_gateway/connections_delete.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
operationId: connections_delete
summary: Delete a Connection
description: Revokes and deletes an OAuth connection owned by the authenticated team.
tags:
- Action Gateway
parameters:
- name: id
in: path
required: true
description: The connection UUID.
schema:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
responses:
"200":
description: The connection was deleted successfully.
headers:
$ref: response_headers.yml
content:
application/json:
schema:
$ref: models.yml#/delete_connection_response
examples:
connections_delete_response:
$ref: examples.yml#/connections_delete_response
"401":
$ref: ../../shared/responses/unauthorized.yml
"404":
$ref: ../../shared/responses/not_found.yml
"429":
$ref: ../../shared/responses/too_many_requests.yml
"500":
$ref: ../../shared/responses/server_error.yml
default:
$ref: ../../shared/responses/unexpected_error.yml
security:
- bearer_auth:
- genai:delete
x-codeSamples:
- $ref: examples/curl/connections_delete.yml
40 changes: 40 additions & 0 deletions specification/resources/action_gateway/connections_get.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
operationId: connections_get
summary: Retrieve a Connection
description: Retrieves an OAuth connection owned by the authenticated team.
tags:
- Action Gateway
parameters:
- name: id
in: path
required: true
description: The connection UUID.
schema:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
responses:
"200":
description: The connection was retrieved successfully.
headers:
$ref: response_headers.yml
content:
application/json:
schema:
$ref: models.yml#/get_connection_response
examples:
connections_get_response:
$ref: examples.yml#/connections_get_response
"401":
$ref: ../../shared/responses/unauthorized.yml
"404":
$ref: ../../shared/responses/not_found.yml
"429":
$ref: ../../shared/responses/too_many_requests.yml
"500":
$ref: ../../shared/responses/server_error.yml
default:
$ref: ../../shared/responses/unexpected_error.yml
security:
- bearer_auth:
- genai:read
x-codeSamples:
- $ref: examples/curl/connections_get.yml
63 changes: 63 additions & 0 deletions specification/resources/action_gateway/connections_list.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
operationId: connections_list
summary: List Connections
description: Lists OAuth connections owned by the authenticated team.
tags:
- Action Gateway
parameters:
- name: provider
in: query
description: Filter by provider name.
schema:
type: string
example: github
- name: user_id
in: query
description: Filter by end-user identifier.
schema:
type: string
example: end-user-123
- name: status
in: query
description: Filter by connection status.
schema:
type: string
example: active
- name: sort
in: query
description: Field used to sort results.
schema:
type: string
example: created_at
- name: sort_direction
in: query
description: Sort direction.
schema:
type: string
example: desc
- $ref: ../../shared/parameters.yml#/page
- $ref: ../../shared/parameters.yml#/per_page
responses:
"200":
description: Connections were retrieved successfully.
headers:
$ref: response_headers.yml
content:
application/json:
schema:
$ref: models.yml#/list_connections_response
examples:
connections_list_response:
$ref: examples.yml#/connections_list_response
"401":
$ref: ../../shared/responses/unauthorized.yml
"429":
$ref: ../../shared/responses/too_many_requests.yml
"500":
$ref: ../../shared/responses/server_error.yml
default:
$ref: ../../shared/responses/unexpected_error.yml
security:
- bearer_auth:
- genai:read
x-codeSamples:
- $ref: examples/curl/connections_list.yml
51 changes: 51 additions & 0 deletions specification/resources/action_gateway/connections_update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
operationId: connections_update
summary: Update Connection Parameters
description: Updates non-sensitive connection parameters for an OAuth connection.
tags:
- Action Gateway
parameters:
- name: id
in: path
required: true
description: The connection UUID.
schema:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
requestBody:
required: true
content:
application/json:
schema:
$ref: models.yml#/update_connection_parameters_request
examples:
connections_update_request:
$ref: examples.yml#/connections_update_request
responses:
"200":
description: The connection parameters were updated successfully.
headers:
$ref: response_headers.yml
content:
application/json:
schema:
$ref: models.yml#/update_connection_parameters_response
examples:
connections_update_response:
$ref: examples.yml#/connections_update_response
"400":
$ref: ../../shared/responses/bad_request.yml
"401":
$ref: ../../shared/responses/unauthorized.yml
"404":
$ref: ../../shared/responses/not_found.yml
"429":
$ref: ../../shared/responses/too_many_requests.yml
"500":
$ref: ../../shared/responses/server_error.yml
default:
$ref: ../../shared/responses/unexpected_error.yml
security:
- bearer_auth:
- genai:update
x-codeSamples:
- $ref: examples/curl/connections_update.yml
Loading
Loading