{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/auphonic/main/json-schema/auphonic-outgoing-service-schema.json",
  "title": "OutgoingService",
  "description": "An external service configured for outgoing file transfers.\nFields present depend on the service `type`.\nQuery `/api/info/service_types.json` for available service types and their parameters.\nCommon fields (uuid, display_name, type, incoming, outgoing) are always present.\nType-specific fields (email, host, port, path, bucket, etc.) are only present for\napplicable service types.\n",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/auphonic-openapi.yaml#/components/schemas/OutgoingService",
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string"
    },
    "display_name": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "Service type (dropbox, gdrive, soundcloud, youtube, ftp, sftp, etc.)"
    },
    "transfer_success": {
      "type": "boolean",
      "description": "Whether the file transfer was successful"
    },
    "error_message": {
      "type": "string",
      "description": "Error message if transfer failed"
    },
    "result_page": {
      "type": [
        "string",
        "null"
      ],
      "description": "Web page generated by the external service"
    },
    "result_urls": {
      "type": "array",
      "description": "URLs of copied output files on external servers",
      "items": {
        "type": "string"
      }
    },
    "incoming": {
      "type": "boolean",
      "description": "Whether service supports incoming file transfers"
    },
    "outgoing": {
      "type": "boolean",
      "description": "Whether service supports outgoing file transfers"
    },
    "email": {
      "type": "string",
      "description": "Account email (Dropbox, Google Drive, OneDrive)"
    },
    "host": {
      "type": "string",
      "description": "Server hostname (FTP, SFTP, Libsyn)"
    },
    "port": {
      "type": "integer",
      "description": "Server port (FTP, SFTP, Libsyn)"
    },
    "path": {
      "type": "string",
      "description": "Server path (FTP, SFTP)"
    },
    "base_url": {
      "type": "string",
      "description": "Base URL for file access (FTP, SFTP, WebDAV, Blubrry)"
    },
    "sharing": {
      "type": "string",
      "description": "Sharing setting (SoundCloud: public/private)"
    },
    "downloadable": {
      "type": "boolean",
      "description": "Whether file is downloadable (SoundCloud, Spreaker)"
    },
    "track_type": {
      "type": "string",
      "description": "Track type (SoundCloud)"
    },
    "privacy": {
      "type": "string",
      "description": "Privacy setting (YouTube: public/private)"
    },
    "category": {
      "type": "string",
      "description": "Category (YouTube)"
    },
    "distribution": {
      "type": "string",
      "description": "Distribution setting (Facebook: everywhere/no_story/secret)"
    },
    "embeddable": {
      "type": "boolean",
      "description": "Whether video is embeddable (Facebook)"
    },
    "show": {
      "type": "string",
      "description": "Show name (Spreaker)"
    },
    "bucket": {
      "type": "string",
      "description": "S3 bucket name (Amazon S3, Archive.org)"
    },
    "key_prefix": {
      "type": "string",
      "description": "S3 key prefix (Amazon S3)"
    },
    "canned_acl": {
      "type": "string",
      "description": "S3 canned ACL (Amazon S3)"
    },
    "endpoint": {
      "type": "string",
      "description": "S3-compatible endpoint (Generic S3)"
    },
    "program_keyword": {
      "type": "string",
      "description": "Program keyword (Blubrry)"
    },
    "podcast": {
      "type": "object",
      "description": "Podcast info (OAuth Hoster services like PodBean, Captivate)",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      }
    }
  }
}