Custom API Action

Use the Custom API Action card to make an authenticated custom API request to the AWS S3 REST API. See Amazon S3 Rest API overview.

The Custom API Action card only supports XML-formatted responses from the API. For example, the card can't download the contents of a bucket object unless that object is formatted as XML. The API response is parsed for XML and returned to the flow as a JSON object in the Body output. If the API response isn't formatted as XML, the Body output is null.

Options

Field Definition Type Required

Request Type

These are the supported HTTP request methods, or HTTP verbs, in a custom API call (see HTTP request methods).

  • GET: Retrieves data from a web server based on parameters. This method requests a representation of the specified resource. If a request is successful, a 200 (OK) response message is returned with the requested content.

  • POST: Sends data to a web server based on parameters (for example, uploading a file). Multiple POST requests may result in a different outcome than a single POST. Exercise caution to avoid sending multiple POST requests unintentionally. If a request is successful, a 200 (OK) response message is returned.

  • PUT: Sends data to be stored at a specific location on a web server based on parameters (for example, uploading a file). Unlike POST requests, PUT requests are idempotent. For successful requests, the result of a single PUT request is the same as many identical PUT requests. If a request is successful, a 200 (OK), 201 (Created), or 204 (No Content) response message is returned.

  • PATCH: Applies partial modifications to a resource on a web server based on parameters. PATCH isn't idempotent. Multiple PATCH requests could have unintended consequences. If a PATCH is successful, a 200 (OK) or 204 (No Content) response message is returned.

  • DELETE: Deletes the specified resource (if it exists) from the web server based on parameters. If a DELETE is successful, a 200 (OK) response message is returned.

  • HEAD: Requests the headers that would be returned if the HEAD request's URL was requested, instead of using the HTTP GET method. For example, if a URL is expected to produce a large download, a HEAD request could read its Content-Length header to check the file size without actually downloading the file.

Dropdown

TRUE

Region

Select the region for your Amazon S3 bucket.

Dropdown

TRUE

Input

Field Definition Type Required

Request

Bucket

Name of the bucket to reference in the request, for example:

GET /?list-type=2 HTTP/1.1

Host: <Bucket>.s3.amazonaws.com

Text

FALSE

Relative URL

The URL address of the web server that you're attempting to call. Specify the relative URL as /{insert_remaining_URL}. Use a leading slash at the beginning of the relative URL.

You can specify query parameters in the relative URL using "?", or specify the query parameters as an object key pair in the Query input.

For example, for the AWS S3 API endpoint http://aws.s3.<region>.amazonaws.com/listobjects the relative URL is /listobjects.

Text

TRUE

Query

Specify any additional query parameters to include in object format (key value pairs).

Object

FALSE

Body

Specify a request body in JSON format.

Object

FALSE

Headers

Specify any headers required in addition to authorization or content-type (this connector already handles these headers).

Object

FALSE

Output

Field Definition Type

Response

Status Code

Result of the operation. The connector returns an HTTP status code that indicates whether the action taken by the card succeeded or failed. For example:

  • A 201 Created status code indicates success where a new resource was created.
  • A 403 Forbidden error indicates that the HTTP request wasn't processed because the necessary permissions were missing.

For a full list of possible status codes, see HTTP status codes.

Number

Headers

Detailed context for the status code, unrelated to the output body. Response headers depend on your selected HTTP request option. Not all headers are response headers. This is similar to {"Content-type":"application/json"}.

Object

Body

Data returned from your selected HTTP request.

For example, the data from a GET request.

Object

Related topics

AWS S3 connector

Workflow elements

AWS S3 Rest API overview