Streak synchronization choices

Read provider field labels and separate Wallkit mapping selectors. This catalog does not save field mappings, send member values or change Wallkit membership.

TaskOperation
Read mapping choicesRead choices

Example clients and synthetic values follow response conventions.

Read synchronization choices

GET /api/v1/integrations/streak/sync-fields

Read provider field labels and separate Wallkit mapping selectors. This catalog does not save field mappings, send member values or change Wallkit membership.

Before you call

Use an existing active member and valid resource with custom token and resource headers. Shared guards reject inactive callers and locked/suspended relationships. See credential transport.

Support is the lowest directly granted ACL role; roles inheriting that grant and root can use it. An ordinary member session is insufficient. In these examples USER_TOKEN means an already supplied session with this access. The resource must already have a Streak api_key configured. Configured Firebase resolution follows the API context.

Request

No request body or action-specific query parameters.

NameLocationType / requirementMeaning
resourceheaderresource public key; requiredSelects existing resource integration.
tokenheaderauthorized member session token; requiredResolved caller identity; the prerequisite role requirements still apply.

Result

HTTP 200 with two separate field catalogs. Pipelines lacking fields are skipped entirely, including their stages. Each accepted field/stage needs name and key. Field and stage entries share one map; a duplicate combined key can overwrite an earlier label. No explicit pagination or local catalog cache.

FieldType / presenceMeaning
streakmap of pipelineKey.fieldKey or pipelineKey.stageKey to string label; empty [] possibleField labels are Pipeline: pipeline name - field name; stage labels are Stages: pipeline name - stage name. Identifiers are combined provider keys, not Wallkit IDs.
wallkitsorted array of selector stringsDynamic model-derived and explicit mapping choices such as User.email; not current values or a universal response schema. Duplicate selectors may remain.

Example: Inspect provider and Wallkit choices

curl "${WALLKIT_API_BASE}/api/v1/integrations/streak/sync-fields" \
  -H "resource: ${RESOURCE_KEY}" \
  -H "token: ${USER_TOKEN}"
const response = await fetch(`${process.env.WALLKIT_API_BASE}/api/v1/integrations/streak/sync-fields`, {
  method: "GET", headers: { "resource": process.env.RESOURCE_KEY, "token": process.env.USER_TOKEN }
});
console.log(response.status, await response.json());
import os, json
from urllib.request import Request, urlopen
from urllib.error import HTTPError

request = Request(os.environ["WALLKIT_API_BASE"] + "/api/v1/integrations/streak/sync-fields",
    headers={"resource": os.environ["RESOURCE_KEY"], "token": os.environ["USER_TOKEN"]}, method="GET")
try:
    with urlopen(request) as response:
        print(response.status, json.load(response))
except HTTPError as error:
    print(error.code, json.load(error))

Synthetic HTTP 200 excerpt:

{
  "streak": {
    "pipeline-example.field-example": "Pipeline: Readers - Interest",
    "pipeline-example.stage-example": "Stages: Readers - New"
  },
  "wallkit": [
    "User.email"
  ]
}

The Wallkit selector list is excerpted. Choose meaningful pairs through existing integration configuration; this call does not apply them.

Consequential alternate

Synthetic HTTP 200 excerpt when returned pipelines exist but no fields/stages are selected:

{
  "streak": [],
  "wallkit": [
    "User.email"
  ]
}

This differs from a pipeline result that is empty or otherwise false in a boolean check, which returns HTTP 406. Pipelines without fields have their stages skipped too.

Recovery

HTTP statusCode / shapeCauseNext action
500integration_error / Streak integration not configuredSelected resource lacks configured api_key.Ask the owner to inspect existing Streak settings.
406integration_error / Streak: followed by exception messageProvider pipeline request throws inside the action catch.Check reported provider/configuration outcome with owner.
406incorrect_pipelines_list / Pipelines list empatyPipeline result is empty or otherwise false in a boolean check.Ask owner to inspect provider pipeline availability; do not treat as the HTTP 200 empty-field catalog.
ACL failureShared access denialCaller lacks support/inherited/root grant.Use the existing authorized role context supplied by the integration owner.

Next task

Use the existing integration configuration process to choose mappings. For a separate member preference task, see Mailchimp preferences; these field choices do not authorize a subscription or content-access change.

Follow the task guide

Read the 3rd party integration flows for request order, context choices and response decisions.

Full diagram

Use the arrow keys to scroll. Escape closes this view.

Search documentation

Enter at least 2 characters.

    ↑ ↓ move through results · Enter opens · Escape closes