Provider - Create
Body: job_partner_id*, name*, feed_url, capture_node, username (write-only), password (write-only), refresh_minutes, schema_mapping (JSONB), click_id_param, fetch_method, fetch_config (JSONB), fetch_credentials (write-only).
─── Fetch transport ──────────────────────────────────────── fetch_method selects how the feed is acquired: url (default — HTTP(S)/FTP via feed_url, using username/password when set) or s3 (S3 + STS AssumeRole).
For s3, fetch_config is REQUIRED and holds NON-SECRET config: bucket*, key or prefix, region, role_arn, external_id, credential_source (instance | ssm | static), credentials_ref (SSM path when source=ssm), object_selection (key | newest_in_prefix). It is returned in full on GET — none of it is a secret.
fetch_credentials is a WRITE-ONLY object for the last-resort static path ({"access_key_id": "...", "secret_access_key": "..."}). It is AES-256-GCM encrypted at rest and NEVER returned by any GET — reads expose only the boolean has_stored_credentials. Prefer credential_source: "instance" so no credential exists at all.
Request
- Base URL: https://api.juju.com
- URL: https://api.juju.com/admin/v1/providers
- Auth: none declared
Response
Created provider (detail shape — includes schema_mapping, campaign_count, latest_run, credential presence booleans; credential values never returned).
Example response
{
"errors": []
}Changes
No recorded changes to this operation across all 1 revision of this API.