Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 72 additions & 2 deletions .speakeasy/in.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20691,13 +20691,50 @@ components:
accessKeyId:
minLength: 1
type: 'string'
visibleWhen:
- field: 'authMode'
in:
- 'access_keys'
- ''
authMode:
default: 'access_keys'
description: 'IAM role: OpenRouter assumes a role in your AWS account with short-lived STS credentials, so you don''t share long-lived keys.'
enum:
- 'access_keys'
- 'iam_role'
optionLabels:
access_keys: 'Access keys'
iam_role: 'IAM role'
type: 'string'
visibleWhen:
- field: 'provider'
in:
- 'aws'
bucketName:
minLength: 1
type: 'string'
endpoint:
description: 'Only for S3-compatible services like Cloudflare R2 (https://account-id.r2.cloudflarestorage.com) or MinIO. Leave blank for standard AWS S3.'
format: 'uri'
type: 'string'
visibleWhen:
- field: 'provider'
in:
- 'cloudflare_r2'
- 'gcs'
- 'other'
- ''
externalId:
description: 'Generated by OpenRouter when you save. Require it as sts:ExternalId in your role''s trust policy.'
readOnly: true
type: 'string'
visibleWhen:
- field: 'provider'
in:
- 'aws'
- field: 'authMode'
in:
- 'iam_role'
headers:
additionalProperties:
type: 'string'
Expand All @@ -20710,17 +20747,50 @@ components:
prefix:
default: 'openrouter-traces'
type: 'string'
provider:
description: 'The object storage service that hosts the bucket. AWS S3 supports IAM role authentication; the other providers use access keys.'
enum:
- 'aws'
- 'cloudflare_r2'
- 'gcs'
- 'other'
optionLabels:
aws: 'AWS S3'
cloudflare_r2: 'Cloudflare R2'
gcs: 'Google Cloud Storage'
other: 'Other S3-compatible'
type: 'string'
region:
description: 'Required for IAM role authentication. With access keys, AWS S3 detects the bucket region when you leave this blank.'
type: 'string'
roleArn:
description: 'The IAM role in your account that OpenRouter assumes. Its trust policy must allow sts:AssumeRole from arn:aws:iam::536697249728:role/openrouter-broadcast-exporter and require the external ID below, and its permissions must allow s3:PutObject on the bucket and prefix (plus kms:GenerateDataKey for SSE-KMS buckets).'
pattern: '^arn:aws(?:-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@/-]{1,512}$'
type: 'string'
visibleWhen:
- field: 'provider'
in:
- 'aws'
- field: 'authMode'
in:
- 'iam_role'
secretAccessKey:
minLength: 1
type: 'string'
visibleWhen:
- field: 'authMode'
in:
- 'access_keys'
- ''
sessionToken:
type: 'string'
visibleWhen:
- field: 'authMode'
in:
- 'access_keys'
- ''
required:
- 'bucketName'
- 'accessKeyId'
- 'secretAccessKey'
type: 'object'
created_at:
description: 'ISO timestamp of when the destination was created.'
Expand Down
Loading