Skip to main content

Using the Databowl Custom OAuth API

This document explains how to use our custom OAuth API to simplify OAuth authentication and subsequent API requests.

Oliver Hacker avatar
Written by Oliver Hacker
Updated today

This is useful when setting up Databowl Forwarding with systems that require an OAuth 2.0 token exchange.

This is based on client_credentials grant type.

Basic Details

  • HTTP Method: POST

  • Delivery URL:
    https://c718jzfjea.execute-api.eu-west-1.amazonaws.com/default/OAuthProxy

Open Advanced Settings.

  • Content Type: json

  • HTTP Authentication: basic

  • HTTP Auth Username: your client_id

  • HTTP Auth Password: your client_secret

Mappings

This table shows how to structure your mappings when setting up an OAuth-based custom API forwarding in Databowl.

This automatically generates the required Authorization header for the proxy call.

This configuration is set up in the Forwarding Wizard under the "Mappings" tab.

⚠️ Only include the fields and headers required by the third-party API. Unnecessary fields can lead to rejections or failed requests.

Type

Input

Output Param

Example / Explanation

Static

post

api->method

The HTTP method to use. Most integrations use post.

Field

field

api->payload->field

Maps a field from the lead data to the JSON payload.

Static

https://example-auth.com/oauth/token

oauth->tokenUrl

The full URL where the OAuth token is obtained.

Static

https://api.example.com/v1/submit

api->url

The endpoint you want to hit after the token is retrieved.

Static

openid,email,profile

oauth->payload->scope

If required, A comma-separated list of OAuth scopes, as required by the token provider. (optional value)

Static

abc123xyz456apikeytoken

api->headers->x-api-key

Custom header values like API keys. (optional value)

Static

application/json

api->headers->Content-Type

Required for most JSON-based APIs.

Structuring API Requests Using Field Mappings
When sending requests through the OAuth proxy, you define how your data is mapped into the final JSON payload using structured field mappings. Here's how to build the correct mappings based on your target API's expected request format.Example: Desired JSON Payload


Suppose the target API expects the following request body:

{
"campaign_id": "ABC123",
"user": {
"email": "
user@example.com",
"name": {
"first": "John",
"last": "Doe"
},
"location": {
"address": {
"postcode": "90210"
}
}
}
}

How to Define the Mappings
To produce the JSON structure above, use the following field mappings:

  • campaign_idapi->payload->campaign_id

  • emailapi->payload->user->email

  • first_nameapi->payload->user->name->first

  • last_nameapi->payload->user->name->last

  • postcodeapi->payload->user->location->address->postcode

Each mapping follows a simple path format:
api->payload->..., where each -> indicates a nested level in the resulting JSON.Mapping Guidelines

  • Top-Level Fields:

  • Use api->payload->field_name for values that should appear at the root level of the payload.

  • Example: campaign_id → api->payload->campaign_id

  • Nested Fields:

  • Add intermediate keys to place values inside nested objects.

  • Example: email → api->payload->user->email

  • Deeply Nested Fields:

  • There is no depth limit—structure data to match any level required by the target API.

  • Example: postcode → api->payload->user->location->address->postcode

Tip
This flexible mapping system allows you to reshape your input data into any JSON structure your downstream API expects—no matter how complex.

If you need further help configuring this or troubleshooting requests, feel free to reach out to our support team via the chat on your dashboard or email support@databowl.com.

Did this answer your question?