Skip to content
Console
Menu

Getting Started

Authentication

KV Store

Create a mailbox OAUTH app

Creates a mailbox OAuth app.

Creates a mailbox OAuth app.

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mailbox_oauth_apps
  • Scope notify:write
  • Effect write — a successful call changes state.
  • Collection mailbox_oauth_apps
  • Query mailbox_oauth_app_id, validate_only

#Request

FieldTypeWhat it is
parentstringThe parent to create in. Required.
mailbox_oauth_app_idstringThe mailbox OAuth app id, the final name segment; the server assigns one when empty.
mailbox_oauth_appMailboxOauthAppThe mailbox OAuth app to create; only caller-writable fields are read. Required.
validate_onlyboolValidate and return the result without writing anything.

#MailboxOauthApp

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/mailbox_oauth_apps/{mailbox_oauth_app}.
metaResourceMetaResource metadata.
specMailboxOauthAppSpecDesired state. Required.

#ResourceMeta

FieldTypeWhat it is
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.

#MailboxOauthAppSpec

FieldTypeWhat it is
providerMailboxOauthProviderThe provider. Required. One of google, microsoft.
client_idstringThe client id the provider issued. Required.
client_secretstringThe client secret; write-only, sealed at rest, never returned. Never returned again.
tenantstringMicrosoft only: who may consent, common (the default: any work, school or personal account), organizations, consumers, or one tenant id.

#Response

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/mailbox_oauth_apps/{mailbox_oauth_app}.
uidstringmoa_<cell><ulid>; never reused. Output only.
metaResourceMetaResource metadata.
specMailboxOauthAppSpecDesired state. Required.
statusMailboxOauthAppStatusObserved state. Output only.

#ResourceMeta

FieldTypeWhat it is
generationint64Increases by one on every change to spec. Output only.
etagstringStrong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as If-Match or etag to make Update and Delete conditional; a mismatch fails with ABORTED / 409 ETAG_MISMATCH. Output only.
create_timetimestampWhen the Resource was created. Output only.
update_timetimestampWhen the Resource last changed. Output only.
delete_timetimestampSet while the Resource is being deleted. Output only.
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.
creatorstringThe principal that created the Resource. Output only.

#MailboxOauthAppSpec

FieldTypeWhat it is
providerMailboxOauthProviderThe provider. Required. One of google, microsoft.
client_idstringThe client id the provider issued. Required.
client_secretstringThe client secret; write-only, sealed at rest, never returned. Never returned again.
tenantstringMicrosoft only: who may consent, common (the default: any work, school or personal account), organizations, consumers, or one tenant id.

#MailboxOauthAppStatus

FieldTypeWhat it is
observed_generationint64The generation this status was computed from. Output only.
conditionsCondition[]Ready, Reconciling, Stalled. Output only.
client_secret_setboolWhether a client secret is stored. Output only.
redirect_uristringThe redirect URI to register on the provider's client. Output only.
scopesstring[]The scopes a connect link asks for: Google https://mail.google.com/ (a restricted scope: a public app needs Google's verification), and Microsoft IMAP.AccessAsUser.All, SMTP.Send and offline_access, each with openid email to learn the address. Output only.

#Condition

FieldTypeWhat it is
typestringThe condition type, for example Ready.
statusConditionStatusWhether the condition holds. One of true, false, unknown.
observed_generationint64The generation this observation was made against.
reasonstringA machine-readable UpperCamelCase reason.
messagestringA customer-safe human-readable message.
severitySeverityHow severe a FALSE condition is. One of info, warning, error.
transition_timetimestampWhen status last changed.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/mailbox_oauth_apps" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec":{"client_id":"…","provider":"google"}}'