Pipelines
Pipeline configuration — build platforms, commands, triggers, concurrency. Code signing configuration — Android keystores, iOS certificates/profiles. Store publishing settings. The runner uploads from its own host after a successful build. App Store Connect API keys shared by every pipeline of the instance. Private keys are encrypted at rest and never returned. Write-only secrets scoped to the instance, a project or a pipeline. Values are encrypted at rest, referenced as ${{ secrets.NAME }} and never returned.
Returns key names, IDs and how many pipelines use each. Private keys are never returned. Requires pipeline read access.
Authorization
bearer_auth In: header
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/app-store-connect-keys"{ "keys": [ { "created_at": 0, "id": "string", "issuer_id": "string", "key_id": "string", "name": "string", "pipeline_count": 0, "updated_at": 0 } ]}Stores the .p8 private key encrypted. Requires instance settings write access.
Authorization
bearer_auth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/app-store-connect-keys" \ -H "Content-Type: application/json" \ -d '{ "issuer_id": "string", "key_id": "string", "name": "string", "private_key_base64": "string" }'{ "key": { "created_at": 0, "id": "string", "issuer_id": "string", "key_id": "string", "name": "string", "pipeline_count": 0, "updated_at": 0 }}Refused while any pipeline uses the key. Requires instance settings write access.
Authorization
bearer_auth In: header
Path Parameters
Shared key ID
Response Body
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/app-store-connect-keys/string"{ "ok": true}Renames or replaces the key. Pipelines using it pick up the change on their next build. Requires instance settings write access.
Authorization
bearer_auth In: header
Path Parameters
Shared key ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Rename a shared key or replace it. Omitted fields keep their stored value;
a new key_id requires a new private key.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/app-store-connect-keys/string" \ -H "Content-Type: application/json" \ -d '{}'{ "key": { "created_at": 0, "id": "string", "issuer_id": "string", "key_id": "string", "name": "string", "pipeline_count": 0, "updated_at": 0 }}Writes the pipeline's form settings as a version: 2 .oore.yaml,
with on from the trigger settings and publish from the Publish
settings where they map exactly. The file is planned before it is
returned and runs what the settings run. Secret values and store
credentials never appear in it; secret references stay as written.
Authorization
bearer_auth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The pipeline settings to write out as a version: 2 .oore.yaml.
Response Body
application/json
curl -X POST "https://example.com/v1/pipelines/export-yaml" \ -H "Content-Type: application/json" \ -d '{ "execution_config": { "artifact_patterns": [ "string" ], "commands": { "build": [ "string" ], "post_build": [ "string" ], "pre_build": [ "string" ] }, "platforms": [ "android" ] } }'{ "errors": [ "string" ], "notes": [ "string" ], "valid": true, "warnings": [ "string" ], "yaml": "string"}Reads a version: 2 .oore.yaml back into the pipeline's form
settings: the inverse of the export. The file is validated as
oore pipeline validate does. Settings are returned only when the
form can hold the whole file; exported again, they plan the same as
the file. Everything else is listed in unsupported. Nothing is
saved, and secret references stay as written.
Authorization
bearer_auth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A version: 2 .oore.yaml to read back into the pipeline editor's form,
with the settings the editor holds now.
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/pipelines/import-yaml" \ -H "Content-Type: application/json" \ -d '{ "yaml": "string" }'{ "errors": [ "string" ], "execution_config": null, "google_play": null, "notes": [ "string" ], "representable": true, "testflight_group": "string", "trigger_config": null, "unsupported": [ "string" ], "valid": true}Resolves the steps a build would run for a .oore.yaml or the
pipeline's form settings, with the same validation as
oore pipeline validate. Environment values are never returned and
secret references stay as written.
Authorization
bearer_auth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
What to plan: a repository file or the pipeline's form settings, never both.
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/pipelines/plan" \ -H "Content-Type: application/json" \ -d '{}'{ "available_platforms": [ "android" ], "errors": [ "string" ], "notices": [ "string" ], "plan": null, "valid": true, "version": 0, "workflows": [ "string" ]}Validates a pipeline configuration without persisting it.
Authorization
bearer_auth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/v1/pipelines/validate" \ -H "Content-Type: application/json" \ -d '{}'{ "errors": [ "string" ], "valid": true}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/pipelines/string"{ "build_count": 0, "pipeline": { "approval": { "events": [ "string" ], "expires_after_hours": 0, "required": true }, "concurrency": { "cancel_previous": true, "max_concurrent": 0 }, "config_path": "string", "config_path_explicit": true, "created_at": 0, "enabled": true, "execution_config": { "artifact_patterns": [ "string" ], "build_number_offset": 0, "commands": { "build": [ "string" ], "post_build": [ "string" ], "pre_build": [ "string" ] }, "env": [ { "key": "string", "value": "string" } ], "flutter_version": "string", "isolation": "host", "platform_build_args": { "android": [ "string" ], "ios": [ "string" ], "macos": [ "string" ] }, "platform_commands": { "android": "string", "ios": "string", "macos": "string" }, "platforms": [ "android" ], "runs_on": [ "string" ] }, "id": "string", "name": "string", "project_id": "string", "size_budget": { "mode": "warn", "rules": [ { "kind": "string", "max_bytes": 0, "max_increase_bytes": 0, "max_increase_percent": 0 } ] }, "timeout_minutes": 0, "trigger_config": { "branches": [ "string" ], "events": [ "string" ], "paths": [ "string" ], "paths_ignore": [ "string" ], "schedules": [ { "branch": "string", "cron": "string" } ], "tags": [ "string" ] }, "updated_at": 0, "workflow": "string" }}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/pipelines/string" \ -H "Content-Type: application/json" \ -d '{}'{ "pipeline": { "approval": { "events": [ "string" ], "expires_after_hours": 0, "required": true }, "concurrency": { "cancel_previous": true, "max_concurrent": 0 }, "config_path": "string", "config_path_explicit": true, "created_at": 0, "enabled": true, "execution_config": { "artifact_patterns": [ "string" ], "build_number_offset": 0, "commands": { "build": [ "string" ], "post_build": [ "string" ], "pre_build": [ "string" ] }, "env": [ { "key": "string", "value": "string" } ], "flutter_version": "string", "isolation": "host", "platform_build_args": { "android": [ "string" ], "ios": [ "string" ], "macos": [ "string" ] }, "platform_commands": { "android": "string", "ios": "string", "macos": "string" }, "platforms": [ "android" ], "runs_on": [ "string" ] }, "id": "string", "name": "string", "project_id": "string", "size_budget": { "mode": "warn", "rules": [ { "kind": "string", "max_bytes": 0, "max_increase_bytes": 0, "max_increase_percent": 0 } ] }, "timeout_minutes": 0, "trigger_config": { "branches": [ "string" ], "events": [ "string" ], "paths": [ "string" ], "paths_ignore": [ "string" ], "schedules": [ { "branch": "string", "cron": "string" } ], "tags": [ "string" ] }, "updated_at": 0, "workflow": "string" }}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/pipelines/string"{ "ok": true}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
curl -X GET "https://example.com/v1/pipelines/string/android-signing"{ "debug": { "build_type": "debug", "enabled": true, "has_key_password": true, "has_keystore": true, "has_store_password": true, "key_alias": "string", "keystore_checksum": "string", "keystore_filename": "string", "updated_at": 0 }, "pipeline_id": "string", "release": { "build_type": "debug", "enabled": true, "has_key_password": true, "has_keystore": true, "has_store_password": true, "key_alias": "string", "keystore_checksum": "string", "keystore_filename": "string", "updated_at": 0 }}Upload keystores and configure debug/release signing profiles.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PUT "https://example.com/v1/pipelines/string/android-signing" \ -H "Content-Type: application/json" \ -d '{}'{ "debug": { "build_type": "debug", "enabled": true, "has_key_password": true, "has_keystore": true, "has_store_password": true, "key_alias": "string", "keystore_checksum": "string", "keystore_filename": "string", "updated_at": 0 }, "pipeline_id": "string", "release": { "build_type": "debug", "enabled": true, "has_key_password": true, "has_keystore": true, "has_store_password": true, "key_alias": "string", "keystore_checksum": "string", "keystore_filename": "string", "updated_at": 0 }}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
curl -X GET "https://example.com/v1/pipelines/string/ios-signing"{ "api_issuer_id": "string", "api_key_id": "string", "bundle_ids": [ "string" ], "enabled": true, "export_method": "ad_hoc", "has_api_key": true, "has_p12": true, "has_p12_password": true, "mode": "manual", "p12_expires_at": 0, "p12_filename": "string", "p12_fingerprint": "string", "pipeline_id": "string", "provisioning_profiles": [ { "bundle_id": "string", "checksum": "string", "expires_at": 0, "has_profile": true, "profile_filename": "string", "profile_name": "string", "profile_uuid": "string", "team_id": "string" } ], "shared_api_key": null, "team_id": "string", "updated_at": 0}Upload certificates, provisioning profiles, and API credentials. Request body limit: 10 MiB.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PUT "https://example.com/v1/pipelines/string/ios-signing" \ -H "Content-Type: application/json" \ -d '{ "mode": "manual" }'{ "api_issuer_id": "string", "api_key_id": "string", "bundle_ids": [ "string" ], "enabled": true, "export_method": "ad_hoc", "has_api_key": true, "has_p12": true, "has_p12_password": true, "mode": "manual", "p12_expires_at": 0, "p12_filename": "string", "p12_fingerprint": "string", "pipeline_id": "string", "provisioning_profiles": [ { "bundle_id": "string", "checksum": "string", "expires_at": 0, "has_profile": true, "profile_filename": "string", "profile_name": "string", "profile_uuid": "string", "team_id": "string" } ], "shared_api_key": null, "team_id": "string", "updated_at": 0}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
curl -X GET "https://example.com/v1/pipelines/string/ios-signing/devices"{ "devices": [ { "added_at": 0, "device_id": "string", "id": "string", "last_synced_at": 0, "name": "string", "platform": "string", "status": "string", "udid": "string" } ], "pipeline_id": "string"}Registers a device UDID and optionally triggers a provisioning profile sync.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/v1/pipelines/string/ios-signing/devices/register" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "udid": "string" }'{ "device": { "added_at": 0, "device_id": "string", "id": "string", "last_synced_at": 0, "name": "string", "platform": "string", "status": "string", "udid": "string" }, "pipeline_id": "string", "profile_sync_triggered": true}Re-downloads provisioning profiles from Apple via App Store Connect API.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
curl -X POST "https://example.com/v1/pipelines/string/ios-signing/sync"{ "ok": true, "pipeline_id": "string", "synced_bundle_ids": [ "string" ], "updated_profiles": 0, "warnings": [ "string" ]}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/pipelines/string/publish/app-store"{ "app_store_export": true, "config": { "destination": "testflight", "enabled": true, "phased_release": true, "release_notes": [ { "locale": "string", "whats_new": "string" } ], "submit_for_review": true, "testflight_groups": [ "string" ], "uses_non_exempt_encryption": true }, "has_api_key": true, "pipeline_id": "string", "updated_at": 0}Publishing uploads the pipeline's App Store IPA to App Store Connect with
the API key from iOS signing, then sends it to TestFlight groups or an
App Store version. Enabling it requires iOS signing with the app_store
export method and an App Store Connect API key.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
App Store publishing settings for a pipeline, stored as the app_store
publish target. Uploads use the App Store Connect API key from the
pipeline's iOS signing settings and require the app_store export method.
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/pipelines/string/publish/app-store" \ -H "Content-Type: application/json" \ -d '{ "enabled": true, "release_notes": [ { "locale": "string", "whats_new": "string" } ], "testflight_groups": [ "string" ] }'{ "app_store_export": true, "config": { "destination": "testflight", "enabled": true, "phased_release": true, "release_notes": [ { "locale": "string", "whats_new": "string" } ], "submit_for_review": true, "testflight_groups": [ "string" ], "uses_non_exempt_encryption": true }, "has_api_key": true, "pipeline_id": "string", "updated_at": 0}Requires project read access. Also reports whether the referenced service account secret exists in a visible scope.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/pipelines/string/publish/google-play"{ "config": null, "last_credentials_check": null, "pipeline_id": "string", "service_account_secret_present": true, "updated_at": 0}Requires the manage pipelines project permission. The service account JSON is stored separately as a secret and referenced by name.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Per-pipeline Google Play upload settings. Credentials are referenced by secret name and never stored here.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/pipelines/string/publish/google-play" \ -H "Content-Type: application/json" \ -d '{ "service_account_secret": "string", "track": "string" }'{ "config": null, "last_credentials_check": null, "pipeline_id": "string", "service_account_secret_present": true, "updated_at": 0}Requires the manage pipelines project permission. Exchanges the named
service account key for a token, then opens and discards a Play edit
for the app, so nothing changes in Play Console. A rejected key or
missing Play Console access is reported with ok: false.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Which service account key to check against Google Play. The values come from the form, so a key can be checked before the settings are saved.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/pipelines/string/publish/google-play/test-credentials" \ -H "Content-Type: application/json" \ -d '{ "service_account_secret": "string" }'{ "checked_at": 0, "message": "string", "ok": true, "package_name": "string", "service_account_email": "string", "service_account_secret": "string"}Returns secret names and timestamps. Values are never returned. Requires project read access.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/pipelines/string/secrets"{ "secrets": [ { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 } ]}Stores an encrypted value. The response never contains it. Requires the manage pipelines project permission.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/pipelines/string/secrets" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "value": "string" }'{ "secret": { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 }}Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Secret name
Query Parameters
Delete even when Google Play publishing uses the secret
Response Body
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/pipelines/string/secrets/string"{ "ok": true}Replaces the stored value. Requires the manage pipelines project permission.
Authorization
bearer_auth In: header
Path Parameters
Pipeline ID
Secret name
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Replace a secret's value (rotation).
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/pipelines/string/secrets/string" \ -H "Content-Type: application/json" \ -d '{ "value": "string" }'{ "secret": { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 }}Authorization
bearer_auth In: header
Path Parameters
Project ID
Query Parameters
Case-insensitive pipeline name search
Sort by created_at or name
Sort direction: asc or desc
Page size
int64Page offset
int64Response Body
application/json
application/json
curl -X GET "https://example.com/v1/projects/string/pipelines"{ "pipelines": [ { "approval": { "events": [ "string" ], "expires_after_hours": 0, "required": true }, "concurrency": { "cancel_previous": true, "max_concurrent": 0 }, "config_path": "string", "config_path_explicit": true, "created_at": 0, "enabled": true, "execution_config": { "artifact_patterns": [ "string" ], "build_number_offset": 0, "commands": { "build": [ "string" ], "post_build": [ "string" ], "pre_build": [ "string" ] }, "env": [ { "key": "string", "value": "string" } ], "flutter_version": "string", "isolation": "host", "platform_build_args": { "android": [ "string" ], "ios": [ "string" ], "macos": [ "string" ] }, "platform_commands": { "android": "string", "ios": "string", "macos": "string" }, "platforms": [ "android" ], "runs_on": [ "string" ] }, "id": "string", "name": "string", "project_id": "string", "size_budget": { "mode": "warn", "rules": [ { "kind": "string", "max_bytes": 0, "max_increase_bytes": 0, "max_increase_percent": 0 } ] }, "timeout_minutes": 0, "trigger_config": { "branches": [ "string" ], "events": [ "string" ], "paths": [ "string" ], "paths_ignore": [ "string" ], "schedules": [ { "branch": "string", "cron": "string" } ], "tags": [ "string" ] }, "updated_at": 0, "workflow": "string" } ], "total": 0}Authorization
bearer_auth In: header
Path Parameters
Project ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/projects/string/pipelines" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "pipeline": { "approval": { "events": [ "string" ], "expires_after_hours": 0, "required": true }, "concurrency": { "cancel_previous": true, "max_concurrent": 0 }, "config_path": "string", "config_path_explicit": true, "created_at": 0, "enabled": true, "execution_config": { "artifact_patterns": [ "string" ], "build_number_offset": 0, "commands": { "build": [ "string" ], "post_build": [ "string" ], "pre_build": [ "string" ] }, "env": [ { "key": "string", "value": "string" } ], "flutter_version": "string", "isolation": "host", "platform_build_args": { "android": [ "string" ], "ios": [ "string" ], "macos": [ "string" ] }, "platform_commands": { "android": "string", "ios": "string", "macos": "string" }, "platforms": [ "android" ], "runs_on": [ "string" ] }, "id": "string", "name": "string", "project_id": "string", "size_budget": { "mode": "warn", "rules": [ { "kind": "string", "max_bytes": 0, "max_increase_bytes": 0, "max_increase_percent": 0 } ] }, "timeout_minutes": 0, "trigger_config": { "branches": [ "string" ], "events": [ "string" ], "paths": [ "string" ], "paths_ignore": [ "string" ], "schedules": [ { "branch": "string", "cron": "string" } ], "tags": [ "string" ] }, "updated_at": 0, "workflow": "string" }}Reads supported Oore workflow files from the linked repository without modifying it. The response contains validated behavior but never raw YAML, environment values, or source credentials.
Authorization
bearer_auth In: header
Path Parameters
Project ID
Query Parameters
Branch, tag, or commit; defaults to the project branch
Additional explicit repository-relative config path
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/string/repository-workflows"{ "project_id": "string", "provider": "github", "reference": "string", "truncated": true, "workflows": [ { "errors": [ "string" ], "execution": null, "path": "string", "valid": true, "workflows": [ "string" ] } ]}Returns secret names and timestamps. Values are never returned. Requires project read access.
Authorization
bearer_auth In: header
Path Parameters
Project ID
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/projects/string/secrets"{ "secrets": [ { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 } ]}Stores an encrypted value. The response never contains it. Requires the manage pipelines project permission.
Authorization
bearer_auth In: header
Path Parameters
Project ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/projects/string/secrets" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "value": "string" }'{ "secret": { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 }}Authorization
bearer_auth In: header
Path Parameters
Project ID
Secret name
Query Parameters
Delete even when Google Play publishing uses the secret
Response Body
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/projects/string/secrets/string"{ "ok": true}Replaces the stored value. Requires the manage pipelines project permission.
Authorization
bearer_auth In: header
Path Parameters
Project ID
Secret name
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Replace a secret's value (rotation).
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/projects/string/secrets/string" \ -H "Content-Type: application/json" \ -d '{ "value": "string" }'{ "secret": { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 }}Returns Android signing profiles only to the assigned runner while the job is active. Both the runner bearer token and job-scoped signing grant are required.
Authorization
bearer_auth In: header
Path Parameters
Runner ID
Build/Job ID
Header Parameters
Job-scoped signing grant
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/runners/string/jobs/string/android-signing" \ -H "x-oore-signing-token: string"{ "debug": null, "release": null}Returns the iOS signing bundle only to the assigned runner while the job is active. Both the runner bearer token and job-scoped signing grant are required.
Authorization
bearer_auth In: header
Path Parameters
Runner ID
Build/Job ID
Header Parameters
Job-scoped signing grant
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/runners/string/jobs/string/ios-signing" \ -H "x-oore-signing-token: string"{ "bundle": null}Returns enabled store publish settings and the build changelog to the assigned runner while the job is active.
Authorization
bearer_auth In: header
Path Parameters
Runner ID
Build/Job ID
Header Parameters
Job-scoped signing grant
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/runners/string/jobs/string/publish" \ -H "x-oore-signing-token: string"{ "app_store": null, "changelog": "string", "google_play": null}Records a completed store upload for an active job.
Authorization
bearer_auth In: header
Path Parameters
Runner ID
Build/Job ID
Header Parameters
Job-scoped signing grant
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Outcome of a store upload, reported by the runner.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/runners/string/jobs/string/publish-results" \ -H "x-oore-signing-token: string" \ -H "Content-Type: application/json" \ -d '{ "package_name": "string", "status": "string", "store": "google_play", "track": "string", "version_code": 0 }'{ "ok": true}Returns resolved instance, project and pipeline secrets (narrowest scope wins) only to the assigned runner while the job is active. Both the runner bearer token and job-scoped signing grant are required.
Authorization
bearer_auth In: header
Path Parameters
Runner ID
Build/Job ID
Header Parameters
Job-scoped signing grant
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/runners/string/jobs/string/secrets" \ -H "x-oore-signing-token: string"{ "secrets": [ { "name": "string", "scope": "instance", "value": "string" } ]}Returns secret names and timestamps. Values are never returned. Requires instance settings read access.
Authorization
bearer_auth In: header
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/secrets"{ "secrets": [ { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 } ]}Stores an encrypted value. The response never contains it. Requires instance settings write access.
Authorization
bearer_auth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/secrets" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "value": "string" }'{ "secret": { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 }}Authorization
bearer_auth In: header
Path Parameters
Secret name
Query Parameters
Delete even when Google Play publishing uses the secret
Response Body
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/secrets/string"{ "ok": true}Replaces the stored value. Requires instance settings write access.
Authorization
bearer_auth In: header
Path Parameters
Secret name
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Replace a secret's value (rotation).
Response Body
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/secrets/string" \ -H "Content-Type: application/json" \ -d '{ "value": "string" }'{ "secret": { "created_at": 0, "name": "string", "pipeline_id": "string", "project_id": "string", "scope": "instance", "updated_at": 0 }}