Download OpenAPI specification:Download
Mozilla's probe-scraper machinery stores its output as JSON files in S3, exposed to the web under probeinfo.telemetry.mozilla.org. These API docs are automatically generated from the schema definitions in probe-scraper.
library_name required | string (LibraryName) A unique identifier for this library, applicable across all variants of it. |
description required | string (Description) A brief free-text description of this application variant. |
notification_emails required | Array of strings <email> (NotificationEmails) [ items <email > ] Where emails about probe-scraper failures and improper files will be forwarded to. These will be just about your specific repository. |
url required | string <uri> (RepoUrl) The URL of the repository to scrape. It should be able to be cloned directly from that URL. |
tag_files | Array of strings (TagFiles) [.+\.yaml$] Default: [] A list of relative paths to |
metrics_files | Array of strings (MetricsFiles) [.+\.yaml$] Default: [] A list of relative paths to |
ping_files | Array of strings (PingFiles) [.+\.yaml$] Default: [] A list of relative paths to |
required | Array of objects (LibraryVariantsYaml) Variants of this library. |
{- "library_name": "glean-core",
- "description": "string",
- "notification_emails": [
- "nobody@mozilla.com"
], - "tag_files": [ ],
- "metrics_files": [ ],
- "ping_files": [ ],
- "variants": [
- {
- "v1_name": "firefox-android-beta",
- "description": "string",
- "deprecated": false,
- "branch": "master",
- "dependency_name": "org.mozilla.components:browser-engine-gecko"
}
]
}
app_name required | string (AppName) ^[a-z][a-z0-9_]{0,39}$ A lowercase_with_underscores name that is short and unambiguous. It needs to be something that can be used both in a generated table name in BigQuery or as a value in an This is an "end-to-end identifier": wherever there is a field called |
canonical_app_name required | string (CanonicalAppName) How we would formally name this application in marketing copy or in a dashboard. This should not be materialized in ETL, but rather only made available in user-facing views since it may be verbose and it may change over time. Examples: Firefox for Android, Firefox for Android (Legacy Fennec), Firefox for Desktop, Firefox Focus for iOS This is an "end-to-end identifier": wherever there is a field called
|
app_description required | string (AppDescription) A brief free-text description of an application, applicable across any variants. This should not be materialized in ETL, but rather only made available in user-facing views since it may be verbose and it may change over time. example: The desktop version of Firefox |
notification_emails | Array of strings <email> (NotificationEmails) [ items <email > ] Where emails about probe-scraper failures and improper files will be forwarded to. These will be just about your specific repository. |
url required | string <uri> (RepoUrl) The URL of the repository to scrape. It should be able to be cloned directly from that URL. |
branch | string (RepoBranch) Default: "master" The branch in the repository to use. |
tag_files | Array of strings (TagFiles) [.+\.yaml$] Default: [] A list of relative paths to |
metrics_files | Array of strings (MetricsFiles) [.+\.yaml$] Default: [] A list of relative paths to |
ping_files | Array of strings (PingFiles) [.+\.yaml$] Default: [] A list of relative paths to |
dependencies | Array of strings (Dependencies) Default: [] List of libraries that this application imports. The values here must
match a value defined under |
deprecated | boolean (DeprecatedBool) Default: false Set to |
prototype | boolean (PrototypeBool) Default: false Set to |
object (MozPipelineMetadataDefaults) Container for per-doctype metadata that can affect how pings are processed in the pipeline. | |
object (MozPipelineMetadata) Allows ping level override of metadata values. | |
skip_documentation | boolean (SkipDocumentationBool) Default: false Set to |
required | Array of objects Information for each of the concrete channels that make up this logical application. Most applications will only have a single concrete listing that represents all channels, but Android and iOS applications in particular may need to publish several listings with different |
{- "app_name": "firefox_ios",
- "canonical_app_name": "Firefox for iOS",
- "app_description": "string",
- "notification_emails": [
- "nobody@mozilla.com"
], - "branch": "master",
- "tag_files": [ ],
- "metrics_files": [ ],
- "ping_files": [ ],
- "dependencies": [ ],
- "deprecated": false,
- "prototype": false,
- "moz_pipeline_metadata_defaults": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}, - "moz_pipeline_metadata": {
- "ping-name1": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}, - "ping-name2": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}
}, - "skip_documentation": false,
- "channels": [
- {
- "app_id": "org.mozilla.firefox_beta",
- "v1_name": "firefox-android-beta",
- "app_channel": "release",
- "description": "string",
- "deprecated": false,
- "additional_dependencies": [ ]
}
]
}
Provides general properties related to the scraping process.
lastUpdate required | string <date-time> timestamp when scraping was performed |
{- "lastUpdate": "2019-08-24T14:15:22Z"
}
Contains the revision hashes of the changesets for the probe files that were scraped. These hashes are mapped to a human-readable version string.
additional property | object |
{- "value": {
- "aurora": {
- "1196bf3032e1bce1fb07a01fd9082a767426c5fb": {
- "version": 51
}
}
}
}
Refer to the Telemetry data collection documentation for a detailed explanation of the field information reported for each probe (e.g. cpp_guard
).
channel required | string Firefox application channel |
additional property | object |
{- "value": {
- "histogram/A11Y_CONSUMERS": {
- "history": {
- "nightly": [
- {
- "cpp_guard": null,
- "description": "A list of known accessibility clients that inject into Firefox\nprocess space (see\nhttps://dxr.mozilla.org/mozilla-central/source/accessible/windows/msaa/Compatibility.h).\n",
- "details": {
- "high": 11,
- "keyed": false,
- "kind": "enumerated",
- "low": 1,
- "n_buckets": 12
}, - "expiry_version": "never",
- "optout": true,
- "revisions": {
- "first": "320642944e42a889db13c6c55b404e32319d4de6",
- "last": "6f5fac320fcb6625603fa8a744ffa8523f8b3d71"
}, - "versions": {
- "first": "56",
- "last": "59"
}
}
]
}, - "name": "A11Y_CONSUMERS",
- "type": "histogram"
}
}
}
Provides general properties related to the scraping process.
v1_name required | string v1_name from repositories.yaml |
lastUpdate required | string <date-time> timestamp when scraping was performed |
{- "lastUpdate": "2019-08-24T14:15:22Z"
}
v1_name required | string v1_name from repositories.yaml |
additional property | object |
{- "value": {
- "app.opened_as_default_browser": {
- "history": [
- {
- "_config": {
- "allow_reserved": false,
- "do_not_disable_expired": true
}, - "dates": {
- "first": "2020-09-02 22:57:11",
- "last": "2021-01-13 23:05:09"
}, - "description": "Recorded when a preference is changed and includes the\npreference that changed as well as the value changed to\nrecorded in the extra keys.\n",
- "disabled": false,
- "expires": "2021-03-01",
- "gecko_datapoint": "",
- "git-commits": {
- "first": "ecd3060791ba43162afc0718cac76c7599c62686",
- "last": "b274ef21927c892e6f87fd7d7b8a04a594acb9f9"
}, - "lifetime": "ping",
- "no_lint": [ ],
- "notification_emails": [
- "firefox-ios@mozilla.com"
], - "reflog-index": {
- "first": 8,
- "last": 0
}, - "send_in_pings": [
- "metrics"
], - "type": "counter",
- "version": 0
}
], - "name": "app.opened_as_default_browser",
- "type": "counter"
}
}
}
Provides information about the dependencies of an application.
Each entry in the top-level object represents a dependency of the application.
v1_name required | string v1_name from repositories.yaml |
additional property | object |
{- "value": {
- "org.mozilla.deprecated:glean": {
- "name": "org.mozilla.deprecated:glean",
- "type": "dependency"
}
}
}
Includes both applications and libraries
name | string (V1Name) ^[a-z][a-z0-9-]{0,39}$ Identifier used in v1 URI paths that reference a specific repository |
app_id | string^[a-z][a-z-]{0,1023}$ |
description | string |
channel | string (AppChannel) Enum: "release" "beta" "nightly" "esr" The release channel.
If this is not specified, then we assume the application provides a reasonable channel value in
|
deprecated | boolean (DeprecatedBool) Default: false Set to |
notification_emails | Array of strings <email> (NotificationEmails) [ items <email > ] Where emails about probe-scraper failures and improper files will be forwarded to. These will be just about your specific repository. |
url | string <uri> (RepoUrl) The URL of the repository to scrape. It should be able to be cloned directly from that URL. |
branch | string (RepoBranch) Default: "master" The branch in the repository to use. |
tag_files | Array of strings (TagFiles) [.+\.yaml$] Default: [] A list of relative paths to |
metrics_files | Array of strings (MetricsFiles) [.+\.yaml$] Default: [] A list of relative paths to |
ping_files | Array of strings (PingFiles) [.+\.yaml$] Default: [] A list of relative paths to |
dependencies | Array of strings (Dependencies) Default: [] List of libraries that this application imports. The values here must
match a value defined under |
library_names | Array of strings (LibraryNames) All the build-specific library names defined in this repository,
used as keys to match with the |
prototype | boolean (PrototypeBool) Default: false Set to |
object (MozPipelineMetadataDefaults) Container for per-doctype metadata that can affect how pings are processed in the pipeline. | |
object (MozPipelineMetadata) Allows ping level override of metadata values. | |
skip_documentation | boolean (SkipDocumentationBool) Default: false Set to |
[- {
- "name": "firefox-android-beta",
- "app_id": "string",
- "description": "string",
- "channel": "release",
- "deprecated": false,
- "notification_emails": [
- "nobody@mozilla.com"
], - "branch": "master",
- "tag_files": [ ],
- "metrics_files": [ ],
- "ping_files": [ ],
- "dependencies": [ ],
- "library_names": [
- "org.mozilla.components:service-glean"
], - "prototype": false,
- "moz_pipeline_metadata_defaults": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}, - "moz_pipeline_metadata": {
- "ping-name1": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}, - "ping-name2": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}
}, - "skip_documentation": false
}
]
⚠ The v2 API is in-development and subject to change without notice. Do not depend on it in production!
Flattened view of all Glean app listings (one entry per app_id
). No libraries are included, and this will eventually link to new v2 per-app endpoints that include information pulled from dependencies.
⚠ The v2 API is in-development and subject to change without notice. Do not depend on it in production!
app_id required | string (AppId) ^[a-z][a-zA-Z0-9._-]{0,1023}$ The app's identifier exactly as it appears in the relevant app store listing (for relevant platforms) or in the app's Glean initialization call (for other platforms). In the case of the Google Play store, it may contain both dots and dashes. For applicable platforms, you should be able to construct an app store URL from this value. This is an "end-to-end identifier": wherever there is a field called |
document_namespace required | string (DocumentNamespace) ^[a-z][a-z-]{0,1023}$ Derived from |
bq_dataset_family required | string (BqDatasetFamily) ^[a-z][a-z_]{0,1023}$ Derived from |
app_name required | string (AppName) ^[a-z][a-z0-9_]{0,39}$ A lowercase_with_underscores name that is short and unambiguous. It needs to be something that can be used both in a generated table name in BigQuery or as a value in an This is an "end-to-end identifier": wherever there is a field called |
canonical_app_name | string (CanonicalAppName) How we would formally name this application in marketing copy or in a dashboard. This should not be materialized in ETL, but rather only made available in user-facing views since it may be verbose and it may change over time. Examples: Firefox for Android, Firefox for Android (Legacy Fennec), Firefox for Desktop, Firefox Focus for iOS This is an "end-to-end identifier": wherever there is a field called
|
app_description | string (AppDescription) A brief free-text description of an application, applicable across any variants. This should not be materialized in ETL, but rather only made available in user-facing views since it may be verbose and it may change over time. example: The desktop version of Firefox |
v1_name required | string (V1Name) ^[a-z][a-z0-9-]{0,39}$ Identifier used in v1 URI paths that reference a specific repository |
app_channel | string (AppId) ^[a-z][a-zA-Z0-9._-]{0,1023}$ The app's identifier exactly as it appears in the relevant app store listing (for relevant platforms) or in the app's Glean initialization call (for other platforms). In the case of the Google Play store, it may contain both dots and dashes. For applicable platforms, you should be able to construct an app store URL from this value. This is an "end-to-end identifier": wherever there is a field called |
description | string |
notification_emails | Array of strings <email> (NotificationEmails) [ items <email > ] Where emails about probe-scraper failures and improper files will be forwarded to. These will be just about your specific repository. |
url required | string <uri> (RepoUrl) The URL of the repository to scrape. It should be able to be cloned directly from that URL. |
branch | string (RepoBranch) Default: "master" The branch in the repository to use. |
tag_files | Array of strings (TagFiles) [.+\.yaml$] Default: [] A list of relative paths to |
metrics_files | Array of strings (MetricsFiles) [.+\.yaml$] Default: [] A list of relative paths to |
ping_files | Array of strings (PingFiles) [.+\.yaml$] Default: [] A list of relative paths to |
dependencies | Array of strings (Dependencies) Default: [] List of libraries that this application imports. The values here must
match a value defined under |
deprecated | boolean (DeprecatedBool) Default: false Set to |
prototype | boolean (PrototypeBool) Default: false Set to |
object (MozPipelineMetadataDefaults) Container for per-doctype metadata that can affect how pings are processed in the pipeline. | |
object (MozPipelineMetadata) Allows ping level override of metadata values. | |
skip_documentation | boolean (SkipDocumentationBool) Default: false Set to |
[- {
- "app_id": "org.mozilla.firefox_beta",
- "document_namespace": "org-mozilla-firefox-beta",
- "bq_dataset_family": "org_mozilla_firefox_beta",
- "app_name": "firefox_ios",
- "canonical_app_name": "Firefox for iOS",
- "app_description": "string",
- "v1_name": "firefox-android-beta",
- "app_channel": "org.mozilla.firefox_beta",
- "description": "string",
- "notification_emails": [
- "nobody@mozilla.com"
], - "branch": "master",
- "tag_files": [ ],
- "metrics_files": [ ],
- "ping_files": [ ],
- "dependencies": [ ],
- "deprecated": false,
- "prototype": false,
- "moz_pipeline_metadata_defaults": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}, - "moz_pipeline_metadata": {
- "ping-name1": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}, - "ping-name2": {
- "expiration_policy": {
- "collect_through_date": "2025-12-31",
- "delete_after_days": 0
}, - "geoip_skip_entries": 0,
- "jwe_mappings": [
- {
- "decrypted_field_path": "",
- "source_field_path": "/payload"
}
], - "override_attributes": [
- {
- "name": "geo_city",
- "value": "string"
}
], - "submission_timestamp_granularity": "millis"
}
}, - "skip_documentation": false
}
]
Flattened view of all Glean library variant (one entry per dependency_name
).
⚠ The v2 API is in-development and subject to change without notice. Do not depend on it in production!
library_name required | string (LibraryName) A unique identifier for this library, applicable across all variants of it. |
description required | string (Description) A brief free-text description of this application variant. |
notification_emails required | Array of strings <email> (NotificationEmails) [ items <email > ] Where emails about probe-scraper failures and improper files will be forwarded to. These will be just about your specific repository. |
url required | string <uri> (RepoUrl) The URL of the repository to scrape. It should be able to be cloned directly from that URL. |
tag_files | Array of strings (TagFiles) [.+\.yaml$] Default: [] A list of relative paths to |
metrics_files | Array of strings (MetricsFiles) [.+\.yaml$] Default: [] A list of relative paths to |
ping_files | Array of strings (PingFiles) [.+\.yaml$] Default: [] A list of relative paths to |
v1_name required | string (V1Name) ^[a-z][a-z0-9-]{0,39}$ Identifier used in v1 URI paths that reference a specific repository |
deprecated | boolean (DeprecatedBool) Default: false Set to |
branch | string (RepoBranch) Default: "master" The branch in the repository to use. |
dependency_name required | string (DependencyName) Build system-specific name of this dependency, to be referenced by the |
[- {
- "library_name": "glean-core",
- "description": "string",
- "notification_emails": [
- "nobody@mozilla.com"
], - "tag_files": [ ],
- "metrics_files": [ ],
- "ping_files": [ ],
- "v1_name": "firefox-android-beta",
- "deprecated": false,
- "branch": "master",
- "dependency_name": "org.mozilla.components:browser-engine-gecko"
}
]