-
Notifications
You must be signed in to change notification settings - Fork 4
docs(connectors): add POST /api/connectors/files (image upload contract) #246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,4 @@ | ||||||||||||||||||||
| --- | ||||||||||||||||||||
| title: 'Upload Connector File' | ||||||||||||||||||||
| openapi: "/api-reference/openapi/social.json POST /api/connectors/files" | ||||||||||||||||||||
| --- | ||||||||||||||||||||
|
Comment on lines
+1
to
+4
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a This page currently has Suggested metadata addition ---
title: 'Upload Connector File'
+description: 'Stage an external image URL for connector actions that accept file_uploadable inputs.'
openapi: "POST /api/connectors/files"
---As per coding guidelines, “Use MDX … with frontmatter for page metadata (title, description).” 📝 Committable suggestion
Suggested change
🤖 Prompt for AI AgentsSource: Coding guidelines |
||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -810,7 +810,7 @@ | |
| }, | ||
| "post": { | ||
| "security": [{ "apiKeyAuth": [] }, { "bearerAuth": [] }], | ||
| "description": "Execute a connector action with the given parameters. The `actionSlug` must come from a prior call to GET /api/connectors/actions, and `parameters` must match the `parameters` JSON Schema returned for that action. The action's parent connector must be currently connected (`isConnected: true` in the catalog) — otherwise this endpoint returns 409. The `result` field passes through whatever the underlying connector returns; its shape is action-specific.", | ||
| "description": "Execute a connector action with the given parameters. The `actionSlug` must come from a prior call to GET /api/connectors/actions, and `parameters` must match the `parameters` JSON Schema returned for that action. The action's parent connector must be currently connected (`isConnected: true` in the catalog) — otherwise this endpoint returns 409. The `result` field passes through whatever the underlying connector returns; its shape is action-specific. To attach an image to a `file_uploadable` parameter (e.g. `images`), first stage it with [Upload Connector File](/api-reference/connectors/upload-file) and pass the returned descriptor.", | ||
| "requestBody": { | ||
| "description": "Action to execute and the parameters for it", | ||
| "required": true, | ||
|
|
@@ -895,6 +895,72 @@ | |
| } | ||
| } | ||
| } | ||
| }, | ||
| "/api/connectors/files": { | ||
| "post": { | ||
| "security": [ | ||
| { | ||
| "apiKeyAuth": [] | ||
| }, | ||
| { | ||
| "bearerAuth": [] | ||
| } | ||
| ], | ||
| "description": "Stage an image into Connector file storage so it can be attached to a connector action that accepts a file_uploadable field. The returned descriptor is embedded in a file_uploadable array on [Execute Connector Action](/api-reference/connectors/execute-action).", | ||
| "requestBody": { | ||
| "description": "The image URL to stage and the action it will be attached to.", | ||
| "required": true, | ||
| "content": { | ||
| "application/json": { | ||
| "schema": { | ||
| "$ref": "#/components/schemas/UploadConnectorFileRequest" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "responses": { | ||
| "200": { | ||
| "description": "Image staged. Returns the Connector file descriptor to embed in the action's file_uploadable array.", | ||
| "content": { | ||
| "application/json": { | ||
| "schema": { | ||
| "$ref": "#/components/schemas/UploadConnectorFileResponse" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "400": { | ||
| "description": "Bad request — missing or invalid `url` (must be a reachable URL) or `toolSlug`.", | ||
| "content": { | ||
| "application/json": { | ||
| "schema": { | ||
| "$ref": "#/components/schemas/Error" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "401": { | ||
| "description": "Unauthorized — invalid or missing API key.", | ||
| "content": { | ||
| "application/json": { | ||
| "schema": { | ||
| "$ref": "#/components/schemas/Error" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "502": { | ||
| "description": "Upstream failure staging the file into Connector storage (the image fetch failed or Connector errored).", | ||
| "content": { | ||
| "application/json": { | ||
| "schema": { | ||
| "$ref": "#/components/schemas/Error" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "components": { | ||
|
|
@@ -2309,6 +2375,50 @@ | |
| "description": "ISO 8601 timestamp of when the action was executed server-side." | ||
| } | ||
| } | ||
| }, | ||
| "UploadConnectorFileRequest": { | ||
| "type": "object", | ||
| "required": [ | ||
| "url", | ||
| "toolSlug" | ||
| ], | ||
| "properties": { | ||
| "url": { | ||
| "type": "string", | ||
| "format": "uri", | ||
| "description": "Publicly reachable URL of the image to stage. Fetched server-side and uploaded to Connector storage. Required." | ||
| }, | ||
| "toolSlug": { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. P2: Field named Prompt for AI agents |
||
| "type": "string", | ||
| "description": "The action slug the image will be attached to, UPPERCASE_SNAKE_CASE (e.g. `LINKEDIN_CREATE_LINKED_IN_POST`). Scopes the upload to that tool/toolkit. Required." | ||
| } | ||
| } | ||
| }, | ||
| "UploadConnectorFileResponse": { | ||
| "type": "object", | ||
| "required": [ | ||
| "success", | ||
| "name", | ||
| "mimetype", | ||
| "s3key" | ||
| ], | ||
| "properties": { | ||
| "success": { | ||
| "type": "boolean" | ||
| }, | ||
| "name": { | ||
| "type": "string", | ||
| "description": "Stored filename." | ||
| }, | ||
| "mimetype": { | ||
| "type": "string", | ||
| "description": "Detected MIME type of the stored file." | ||
| }, | ||
| "s3key": { | ||
| "type": "string", | ||
| "description": "Connector storage key. Pass this together with `name` and `mimetype` in the action's file_uploadable array." | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use the required API-reference
openapiformat.Line 3 is not in the required
openapi: 'METHOD /path'shape, so Mintlify auto-generation may not bind this page correctly.Suggested frontmatter fix
As per coding guidelines, “API reference MDX pages should be frontmatter-only … Include OpenAPI spec reference in API reference MDX frontmatter using format: openapi: 'METHOD /path'.”
📝 Committable suggestion
🤖 Prompt for AI Agents
Source: Coding guidelines