Documentation

IFTTT Connect API

Once your service is set up on the platform, you can use the tools on this page to make connections available to anyone who uses your app, website, chatbot, or other client experience.

The basics

This API is located at https://connect.ifttt.com. All API responses are formatted as JSON objects, and any requests that include a body should also be formatted as JSON and include a Content-Type: application/json header.

Throughout these docs, we’ll use {{service_id}} as a placeholder for your service’s unique identifier, which can be found in the Service tab of the IFTTT Platform under the IFTTT service ID heading.

HTTP status codes

The following set of HTTP response status codes may be returned when you send requests to the API. A 200 or 204 status code will be returned for successful requests, while any other status code indicates an error.

Status Description
200 The request succeeded.
204 The request succeeded, but no content will be returned.
400 The request was invalid.
401 The request was missing needed credentials or had badly-formed headers or an invalid token.
403 The request was authenticated correctly, but the current service or user doesn’t have permission to make the requested call.
404 The requested resource couldn’t be found, either because of an invalid ID or because you aren’t allowed to see it.
422 The request failed because of invalid parameters.
500 There was an internal error. If this persists, contact us.
502 The request failed because the downstream service could not process the request.
Error responses

Like success responses, error responses will be JSON objects. All error responses have the following structure:

  • type: The string "error", to distinguish errors from other objects in the API.
  • code: A machine-readable string categorizing the failure.
  • message: A human-readable error message describing the failure.
  • details: Additional details describing the failure.
Example: Requesting a non-existent connection
  • HTTP Request
    GET /v2/connections/invalid_connection_id
    Host: connect.ifttt.com
    
  • Response
    HTTP/1.1 404 Not Found
    Content-Type: application/json; charset=utf-8
    
    {
      "type": "error",
      "code": "not_found",
      "message": "Unknown Connection id",
      "details": []
    }
    
    
Authentication

Every request is authenticated in one of two ways:

  1. Unauthenticated: A request made with no credentials. Requests at this level can only read publicly-visible information.

  2. Service-authenticated: A request that includes an IFTTT-Service-Key header containing your service key, found in the API tab of the IFTTT Platform under the Service Key heading. You can use this approach when you’re making calls from your backend servers to the API.

Example: Unauthenticated
  • HTTP Request
    GET /v2/me
    Host: connect.ifttt.com
    
Example: Service-authenticated
  • HTTP Request
    GET /v2/me
    Host: connect.ifttt.com
    IFTTT-Service-Key: 6e7c8978c07a3b5918a237b9b5b1bb70
    
Example: Service-authenticated with user_id
  • HTTP Request
    GET /v2/me?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: 6e7c8978c07a3b5918a237b9b5b1bb70
    
Accessing user specific resources

Unless otherwise stated, most Connection API requests access user specific resources, so the user_id parameter is required. This user_id has to match the id that your service returns to IFTTT from its User information endpoint for a given user. Some endpoints can return extra user-specific information if you send a valid user_id, while other endpoints require you to send a user_id when you call them with a service key.

For endpoints that require a user_id, requests will fail if the user does not have the connection enabled, and the same user of your service cannot enable the same connection twice, even if using multiple IFTTT accounts.

Connection basics

Connections utilize the Connect API to power dynamic and adaptable experiences for your users across various platforms. Connections can be enabled on IFTTT.com, the IFTTT mobile apps, and the iOS and Android SDKs. Once a connection has been enabled, your users will expect to begin receiving the benefits of the experience you're powering using Connect API endpoints.

To make development on the Connect API as easy as possible, IFTTT collects and stores user field data required (e.g. light bulb device ID) to run the connection for your users when your users enable a connection. To see currently-stored user field data for a user for a connection, use the show a connection endpoint.

iOS and Android SDKs

The iOS SDK and Android SDK make it easy to integrate the API into your mobile apps:

View the Android SDK on GitHub

View the iOS SDK on GitHub

The API can be used on its own or in conjunction with our mobile SDKs. We’d recommend reading the API’s documentation even if you intend to use the mobile SDKs, since it thoroughly explains the structure and capabilities of the API that the SDKs are built on top of.

Webhook endpoint

The Connect API will push data to various URL endpoints on your server, webhooks, after certain events happen. Here are some examples:

  1. You're waiting for a trigger event webhook to come in and then use ["event_data"]["ingredients"] to run an action. Learn more here.
  2. You're waiting for a connection enabled webhook to come in and then use that to send the user some helpful information. Learn more here.
Request

IFTTT will push data to your webhook endpoint with the following request structure:

HTTP
  • Method
    POST
    URL
    {{api_url_prefix}}/ifttt/v1/webhooks/{{type}}/{{event}}
Headers
  • 
    IFTTT-Service-Key: {{ifttt_service_key}}
    Accept: application/json
    Accept-Charset: utf-8
    Accept-Encoding: gzip, deflate
    Content-Type: application/json
    X-Request-ID: {{random_uuid}}
    
Path Segments
  • type
    (string) The type of object the event is for.
    event
    (string) The event that occurred.
Body
  • sent_at
    (number) The time in milliseconds when the webhook was sent.
    type
    (string) The type of object the event is for.
    event
    (string) The event that occurred.
    data
    (object) Information about the object.
    data.connection_id
    (string) The id of the connection.
    data.user_id
    (string) The id of the connection user.
    data.user_timezone
    (string) The user timezone. Default is "Pacific Time (US & Canada)".
    event_data
    (object) Information about the event.
Response

Your webhook endpoint should generate the response below:

HTTP
  • Status
    200

Users

Show the current service and user

Authentication: Unauthenticated, service-authenticated, or service-authenticated with user_id

URL: GET https://connect.ifttt.com/v2/me

This endpoint returns information about the authentication of the current request. You can use this to verify that you’re using a valid service key; you can also use it to determine whether the user_id parameter you sent is currently connected to an IFTTT account and, if so, what that IFTTT account’s login is.

Example: Service-authenticated with user_id
  • HTTP Request
    GET /v2/me?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: 6e7c8978c07a3b5918a237b9b5b1bb70
    
  • Response
    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {
      "type": "me",
      "authentication_level": "channel",
      "service_id": "acme_social_network",
      "user_login": "example_user"
    }
    
    

Connection details

Show a connection

Authentication: Unauthenticated or service-authenticated with user_id

URL: GET https://connect.ifttt.com/v2/connections/{{connection_id}}

This endpoint can be used to provide details about a specific connection. If the request is authenticated the response will include details specific to the authenticated user. These details will include the current configuration for user trigger fields, user query fields, and user action fields in a connection.

Example: Show a connection, service-authenticated with user_id
  • HTTP Request
    GET /v2/connections/C8p3q9T6?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: 6e7c8978c07a3b5918a237b9b5b1bb70
    
  • Response
    {
      "type": "connection",
      "id": "C8p3q9T6",
      "name": "Archive your posts",
      "description": "Archive all of your ACME Social Network posts to your ACME Cloud Storage account.",
      "published_at": "2017-08-27T12:52:59-07:00",
      "enabled_count": 772,
      "user_status": "enabled",
      "last_run_at": "2017-09-08T01:46:42+00:00",
      "services": [
        {
          "service_id": "acme_social_network",
          "service_name": "ACME Social Network",
          "is_primary": true,
          "monochrome_icon_url": "...",
          "color_icon_url": "...",
          "brand_color": "#c783ea",
          "url": "https://ifttt.com/acme_social_network",
          "triggers": [],
          "actions": [
            {
              "id": "post_picture",
              "label": "Post a picture",
              "field_options_url": "https://connect.ifttt.com/api/v2/connections/C8p3q9T6/actions/post_picture/field_options",
              "run_url": "https://connect.ifttt.com/api/v2/connections/C8p3q9T6/actions/post_picture/run",
              "fields": [
                {
                  "id": "title",
                  "type": "text",
                  "label": "Picture title",
                  "required": true
                },
                {
                  "id": "description",
                  "type": "text",
                  "label": "Picture description",
                  "hidden": true,
                  "required": false,
                  "default_value": "Powered by ACME"
                },
              ],
              "user_actions": [
                {
                  "id": "Yy3sedQk",
                  "fields": [
                    {
                      "id": "title",
                      "value": "San Francisco today"
                    },
                    {
                      "id": "location",
                      "value": {
                        "lat": 37.762356,
                        "lng": -122.435816
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "service_id": "acme_cloud_storage",
          "service_name": "ACME Cloud Storage",
          "is_primary": false,
          "monochrome_icon_url": "...",
          "color_icon_url": "...",
          "brand_color": "#3cc292",
          "url": "https://ifttt.com/acme_cloud_storage",
          "triggers": [
            {
              "id": "new_file_added",
              "label": "A new file added",
              "field_options_url": "https://connect.ifttt.com/api/v2/connections/C8p3q9T6/triggers/new_file_added/field_options",
              "fields": [
                {
                  "id": "folder",
                  "type": "dropdown_list",
                  "label": "Folder"
                }
              ],
              "user_triggers": [
                {
                  "id": "XwqsedQk",
                  "fields": [
                    {
                      "id": "folder",
                      "label": "Picture of the day",
                      "value": "aBwLdm2ydHVya0BQbWFpbC8jb22=;2641ab0g"
                    }
                  ]
                }
              ]
           }
          ],
          "actions": []
        }
      ],
      "url": "https://ifttt.com/connections/C8p3q9T6",
      "embedded_url": "https://ifttt.com/embed/acme_cloud_storage/connections/C8p3q9T6",
       }
     ],
      "cover_image": {
        "480w_url" => "...",
        "720w_url" => "...",
        "1080w_url" => "...",
        "1440w_url" => "...",
        "2160w_url" => "...",
        "2880w_url" => "...",
        "4320w_url" => "..."
      },
      "value_propositions": [
        {
          "description": "Save all of your important content",
          "icon_url": "..."
        },
        {
          "description": "Easily search for your saved posts by tag",
          "icon_url": "..."
        },
        {
          "description": "Share your archive with family or friends using shared directories",
          "icon_url": "..."
        }
      ]
    }
    

Response attributes:

Name Description
type (string) The type of the response. Always connection
id (string) A connection id.
name (string) A connection name.
description (string) A connection description.
url (string) A connection URL on IFTTT.
enabled_count (string) The number of users who have this connection enabled.
user_status (string) The status of this connection for the current user: enabled - currently turned on, disabled - turned off, never_enabled - deleted by the user or never turned on, null - when no user is specified.
services (string) A list of services available in this connection.
services.service_id (string) A service id.
services.service_name (string) A full service name.
services.service_short_name (string) A short service name.
services.is_primary (string) true for the service that owns this connection.
services.monochrome_icon_url (string) A URL for the service's monochrome icon.
services.color_icon_url (string) A URL for the service's color icon.
services.brand_color (string) A service's brand color.
services.url (string) A service page on IFTTT.
services.actions (array) service actions available in this connection.
services.actions.id (string) An action id.
services.actions.label (string) An action label.
services.actions.field_options_url (string) A URL that returns the action field options.
services.actions.run_url (string) A URL that runs the action.
services.actions.fields (array) Action fields.
services.actions.fields.id (string) A field id.
services.actions.fields.type (string) A field type.
services.actions.fields.label (string) A field label.
services.actions.fields.default_value (string) A field's default value.
services.actions.fields.required (string) true for required fields.
services.actions.fields.hidden (string) true for fields that are not visible to the user.
services.actions.user_actions (array) Actions that the user configured.
services.actions.user_actions.id (string) A user action id.
services.actions.user_actions.run_url (string) A URL that runs the action as configured by the user.
services.actions.user_actions.fields (array) Fields configured by the user.
services.actions.user_actions.fields.id (string) A field id (maps to actions.fields.id).
services.actions.user_actions.fields.label (string) For dropdown type fields contains a user selected label.
services.actions.user_actions.fields.value (string) A user selected value.
services.actions.user_actions.fields.value.lat (string) For location fields contains a latitude value.
services.actions.user_actions.fields.value.lng (string) For location fields contains a longitude value.
services.actions.user_actions.fields.value.radius (string) For location fields contains a radius value.
services.actions.user_actions.fields.group (string) For dropdown type fields contains a group name for a user selected label.
services.triggers (array) service triggers available in this connection.
services.triggers.* Same as services.actions.
Update a connection

Authentication: Service-authenticated with user_id

URL: POST https://connect.ifttt.com/v2/connections/{{connection_id}}

This endpoint can be used to update certain details about a specific connection. The request must be authenticated. Currently, you can only update user trigger fields, user query fields, and user action fields. An attempt to update anything else will result in a 422 Unprocessable Entity.

Below is an example of updating a user action field with id title, which configures the action with id post_picture of the acme_social_network service.

Example: Update a connection, service-authenticated with user_id
  • HTTP Request
    POST /v2/connections/C8p3q9T6?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: 6e7c8978c07a3b5918a237b9b5b1bb70
    {
      "services": [
        {
          "service_id": "acme_social_network",
          "actions": [
            {
              "id": "post_picture",
              "user_actions": [
                {
                  "fields": [
                    {
                      "id": "title",
                      "value": "My San Francisco today"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
    

Field option endpoints allow you to fetch the available dropdown options for trigger, query, and action dropdown fields. These endpoints return a human-readable lable and a value that can be used to update or override stored user fields.

Authentication: Service-authenticated with user_id

URL: GET https://connect.ifttt.com/v2/connections/{{connection_id}}/{{type}}/{{type_id}}/field_options

Path Segments
  • type
    (string) The type of field. Must be `triggers`, `queries`, or `actions`.
    type_id
    (string) The ID for the specific trigger, query, or action.
Example: Action Field Options, service-authenticated with user_id
  • HTTP Request
    GET /v2/connections/C8p3q9T6/actions/acme_cloud_storage.archive/field_options?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: vFRqPGZBmZjB8JPp3mBFqOdt
    
  • Response
    {
      "type": "field_options",
      "options": {
        "folder_name": [
          {
            "label": "Movies",
            "value": "aBwLdm2ydHVya0BQbWFpbC8jb22=;2641ab0g",
            "group": null
          },
          {
            "label": "Music",
            "value": "dHwLdm2ydHVya0BnbWFbgC8jb44=;1411vb0q",
            "group": null
          }
        ]
      }
    }
    

Response attributes:

Name Description
label (string) A human-readable label for the option.
value (string) An option value to be used in an action run or to update a connection.
group (optional string) A group name which can be used to organize related options when displaying to a user.

Connection events

Enabled webhook

Connections are enabled by your users on the IFTTT web app or through your mobile app via IFTTT SDKs. When this happens IFTTT will send a request to your API's Webhook endpoint.

Example: Connection enabled
  • 
    POST /ifttt/v1/webhooks/connection/enabled HTTP/1.1
    Host: api.example-service.com
    X-Request-ID: 9f99e73452cd40198cb6ce9c1cde83d6
    
    {
      "sent_at": 1560285630699,
      "data": {
        "connection_id": "C8p3q9T6",
        "user_id": "16507466",
        "user_timezone": "Pacific Time (US & Canada)"
      },
      "event_data": {
        "enabled_at": "1560285630711"
      }
    }
    
Updated webhook

When a user updates a connection, IFTTT will send a request to your API's Webhook endpoint.

Example: Connection Updated
  • 
    POST /ifttt/v1/webhooks/connection/updated HTTP/1.1
    Host: api.example-service.com
    X-Request-ID: 9f99e73452cd40198cb6ce9c1cde83d6
    
    {
      "sent_at": 1560285630699,
      "data": {
        "connection_id": "C8p3q9T6",
        "user_id": "16507466",
        "user_timezone": "Pacific Time (US & Canada)"
      },
      "event_data": {
        "updated_at": "1560285630711"
      }
    }
    
Disabled webhook

When a user disabled a connection, IFTTT will send a request to your API's Webhook endpoint.

Example: Connection disabled
  • 
    POST /ifttt/v1/webhooks/connection/disabled HTTP/1.1
    Host: api.example-service.com
    X-Request-ID: 9f99e73452cd40198cb6ce9c1cde83d6
    
    {
      "sent_at": 1560285630699,
      "data": {
        "connection_id": "C8p3q9T6",
        "user_id": "16507466",
        "user_timezone": "Pacific Time (US & Canada)"
      },
      "event_data": {
        "disabled_at": "1560285630711"
      }
    }
    

Triggers

User trigger fields
Stored trigger fields

When a connection is enabled by your users on the IFTTT web app or through your mobile app via IFTTT SDKs, IFTTT will collect and store user configured trigger field values. You can see the currently stored trigger field values for a user via the show a connection endpoint.

Update stored trigger fields

Stored user trigger field values can be updated using the update a connection endpoint. To update stored dropdown fields you must use the dropdown options endpoint to get valid values for the field.

Trigger event webhook

When a trigger detects a new event, IFTTT will send a request to your API's Webhook endpoint.

Example: New Trigger Event
  • 
    POST /ifttt/v1/webhooks/trigger_subscription/fired HTTP/1.1
    Host: api.example-service.com
    X-Request-ID: 9f99e73452cd40198cb6ce9c1cde83d6
    
    {
      "sent_at": 1543520153824,
      "data": {
        "user_id": "16507466",
        "user_timezone": "Pacific Time (US & Canada)",
        "connection_id": "C8p3q9T6",
        "trigger_id": "acme_cloud_storage.new_file"
      },
      "event_data": {
        "ingredients": {
          "FileName": "Street Art"
        }
      }
    }
    
Test trigger event webhook

Authentication: Service-authenticated with user_id

URL: POST https://connect.ifttt.com/v2/connections/{{connection_id}}/triggers/{{trigger_id}}/test

This endpoint can be used to simulate a new event. A request to this endpoint will result in a test Trigger event webhook request to your API's Webhook endpoint.

Example: Test event, service-authenticated with user_id
  • HTTP Request
    POST /v2/connections/C8p3q9T6/triggers/acme_cloud_storage.new_file_added/run?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: vFRqPGZBmZjB8JPp3mBFqOdt
    {}
    
  • Response
    HTTP/1.1 204 No Content
    Status: 204 No Content
    

Queries

[This portion of the API is still under development and is subject to change.]

User query fields
Stored query fields

When a connection is enabled by your users on the IFTTT web app or through your mobile app via IFTTT SDKs, IFTTT will collect and store user configured query field values required to perform a query. You can see the currently stored query field values for a user via the show a connection endpoint.

Update stored query fields

Stored user query field values can be updated using the update a connection endpoint. To update stored dropdown fields you must use the dropdown options endpoint to get valid values for the field.

Overriding stored query fields

Depending on the experience you're looking to create, you may want to override the stored query field values. To do this, include a valid field label and value in the body of the perform a query request. View an example of when to override stored fields.

Perform a query

Authentication: Service-authenticated with user_id

URL: POST https://connect.ifttt.com/v2/connections/{{connection_id}}/queries/{{query_id}}/perform

This endpoint performs the specified query using the user query fields stored on IFTTT. If successful, you'll receive an empty 204 No Content response.

Optionally, you may include a JSON object in the body of the request with any or all fields, which will temporarily override the fields stored on IFTTT.

Example: Perform Query, service-authenticated with user_id
  • HTTP Request
    POST /v2/connections/C8p3q9T6/queries/acme_cloud_storage.list_files/perform?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: vFRqPGZBmZjB8JPp3mBFqOdt
    {
      "fields": {
        "folder_name": "aBwLdm2ydHVya0BQbWFpbC8jb22=;2641ab0g",
      }
      "includes": ["versions"],
      "limit": 1
    }
    
  • Response
    {
      "type": "list",
      "data": [
        {
          "id": "kj39jskl",
          "name": "posts.zip",
          "created_at": "2017-08-27T12:52:59-07:00",
          "size": "293234",
          "version": 3,
          "tags": {
            "type": "query",
            "fields": {
              "file_id": "zAwLdm2ydHVya0BQbWFpbC8jb3e=;3441ab0g"
            }
          }
          "versions": {
            "type": "list",
            "data": [
              {
                "id": 2,
                "created_at": "2018-08-27T12:52:59-07:00",
                "size": "293234"
              },
              {
                "id": 1,
                "created_at": "2018-08-26T12:52:59-07:00",
                "size": "293000"
              }
            ]
          }
        }
      ],
      "next": {
        "fields": {
          "folder_name": "aBwLdm2ydHVya0BQbWFpbC8jb22=;2641ab0g"
        },
        "cursor": "151517700064544d60c3a02405f8bd5520d3e31571"
      }
    }
    

Request attributes:

Name Description
fields (object) A map of query fields. This is effectively query parameters.
includes (optional string array) An array of query ingredients. Query ingredients included in this list will be resolved to a drill-down result. This allows you to request hierarhical data in one step.
limit (optional number) A limit for the number of items in the response.
cursor (optional string) A cursor that addresses a specific page of a result set.

Response attributes:

Name Description
type (string) The type of the response object. Can be either a list for a result set, or a query for an ingredient that is a query.
data (optional array) The query result as a list of items. Only present if type is list.
cursor (optional string) A cursor that can be used to request the next page of this result set. Only present if there is a next page.
fields (object) A map of query fields to be used when making a next page or drill-down query request.

In the example above we request a list of files in a folder. Each file has simple attributes like name, size, etc, and two complex attributes like versions and tags. These two attributes can be represented as queries (type query) or results (type list) in the response. By default all complex attributes are shown as queries (tags in this example). You can use that query in a subsequent request to drill-down into the result set. Alternatively you can have the drill-down result set included in the response by adding the ingredient to the includes array of the request (versions in this example).

Example: Request a next page of a query, service-authenticated with user_id
  • HTTP Request
    POST /v2/connections/C8p3q9T6/queries/acme_cloud_storage.list_files/perform?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: vFRqPGZBmZjB8JPp3mBFqOdt
    {
      "fields": {
        "folder_name": "aBwLdm2ydHVya0BQbWFpbC8jb22=;2641ab0g",
      }
      "includes": ["versions"],
      "limit": 1,
      "cursor": "151517700064544d60c3a02405f8bd5520d3e31571"
    }
    
  • Response
    {
      "type": "list",
      "data": [
        {
          "id": "ejjskl",
          "name": "documents.zip",
          "created_at": "2018-08-26T12:52:59-07:00",
          "size": "93000",
          "version": 1,
          "tags": {
            "type": "query",
            "fields": {
              "file_id": "wAwLdm2ydHVya0BQbWFpbC8jb3e=;3441ab0g"
            }
          }
          "versions": {
            "type": "list",
            "data": [
              {
                "id": 1,
                "created_at": "2018-08-26T12:52:59-07:00",
                "size": "93000"
              }
            ]
          }
        }
      ]
    },
    

In this example we request a second page of the previous result using cursor. Note the lack of next attribute in the response, indicating the end of the result.

Actions

User action fields
Stored action fields

When a connection is enabled by your users on the IFTTT web app or through your mobile app via IFTTT SDKs, IFTTT will collect and store user configured action field values required to run an action. You can see the currently stored action field values for a user via the show a connection endpoint.

Update stored action fields

Stored user action field values can be updated using the update a connection endpoint. To update stored dropdown fields you must use the dropdown options endpoint to get valid values for the field.

Overriding stored action fields

Depending on the experience you're looking to create, you may want to override the stored action field values. To do this, include a valid field label and value in the body of the run an action request. View an example of when to override stored fields.

Run an action

Authentication: Service-authenticated with user_id

URL: POST https://connect.ifttt.com/v2/connections/{{connection_id}}/actions/{{action_id}}/run

This endpoint runs the specified action using the user action fields stored on IFTTT. If successful, you'll receive an empty 204 No Content response.

Optionally, you may include a JSON object in the body of the request with any or all fields, which will temporarily override the fields stored on IFTTT.

Although all action field text inputs are strings, many action fields are defined with a type and some require a specific format. The table below maps action field types to their formats. Action field types not defined in the table do not have a specified format.

Text type Format Example
Messages Short Text Character count should be less than 140 characters
Messages HTML <b>Bold</b><br /><p>and</p><i>Italicize</i>
Metadata Path to a folder /path/to/folder
URLs Link, Photo, File, Audio https://example.com/path/to/resource
Date and Time ISO 8601 1977-04-23T21:41:09
Example: Action Run, service-authenticated with user_id
  • HTTP Request
    POST /v2/connections/C8p3q9T6/actions/acme_cloud_storage.upload_from_url/run?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: vFRqPGZBmZjB8JPp3mBFqOdt
    {}
    
  • Response
    HTTP/1.1 204 No Content
    Status: 204 No Content
    
Example: Action Run with field values, service-authenticated with user_id
  • HTTP Request
    POST /v2/connections/C8p3q9T6/actions/acme_cloud_storage.upload_from_url/run?user_id=123
    Host: connect.ifttt.com
    IFTTT-Service-Key: vFRqPGZBmZjB8JPp3mBFqOdt
    {
      "fields": {
        "folder_name": "aBwLdm2ydHVya0BQbWFpbC8jb22=;2641ab0g"
        "filename": "screenshot_04_23_1977",
        "url": "https://my.service/path/to/resource.png",
      }
    }
    
  • Response
    HTTP/1.1 204 No Content
    Status: 204 No Content