Provider

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.

post/admin/v1/providers

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).

metaobject required

Pagination and context metadata. Always present, empty object ({}) when no metadata applies to the response.

errorsstring[] required

Empty array on success. On failure, human-readable error strings suitable for surfacing to end users.

Example response

{
  "errors": []
}

Changes

No recorded changes to this operation across all 1 revision of this API.