> For the complete documentation index, see [llms.txt](https://developer.celigo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.celigo.com/api/api-reference/profile.md).

# Profile

Read and update the currently-authenticated user's profile, including display name, email, timezone, and notification preferences.

### Preferences schema

## The Preferences object

```json
{"openapi":"3.2.0","info":{"title":"Profile","version":"1.0.0"},"components":{"schemas":{"Preferences":{"type":"object","description":"Complete preferences object as returned by `GET /v1/preferences`.","allOf":[{"$ref":"#/components/schemas/PreferencesBase"},{"type":"object","properties":{"lastLoginAt":{"type":"string","format":"date-time","readOnly":true,"description":"Last login timestamp recorded for the user (if present)."},"showReactSneakPeekFromDate":{"type":"string","format":"date","readOnly":true,"description":"Legacy feature-rollout date marker (UI state)."},"showReactBetaFromDate":{"type":"string","format":"date","readOnly":true,"description":"Legacy feature-rollout date marker (UI state)."},"oldDefaultAShareId":{"type":"string","readOnly":true,"description":"Previous default account-share ID, retained after switching accounts."},"resourceDrawerPanelSizes":{"type":"object","readOnly":true,"description":"Persisted panel-size state for the resource drawer (UI layout).","properties":{"left":{"type":"number","description":"Persisted size of the resource drawer's left panel."},"right":{"type":"number","description":"Persisted size of the resource drawer's right panel."}}},"accounts":{"type":"object","readOnly":true,"description":"Per-account UI state keyed by account ID."}}}]},"PreferencesBase":{"type":"object","description":"Writable preference fields shared by the request and response schemas.","properties":{"environment":{"type":"string","enum":["production","sandbox"],"description":"The selected environment context for the user."},"defaultAShareId":{"type":"string","description":"The selected account context for the user."},"defaultEnvId":{"type":"string","format":"objectId","description":"Default environment id to use when applicable."},"dateFormat":{"type":"string","description":"The user's preferred date display format used across the UI.\n\nChoose one of the supported formats.","enum":["MM/DD/YYYY","DD/MM/YYYY","DD-MMM-YYYY","DD.MM.YYYY","DD-MMMM-YYYY","DD MMMM, YYYY","YYYY/MM/DD","YYYY-MM-DD"]},"timeFormat":{"type":"string","description":"The user's preferred time display format used across the UI.","enum":["h:mm:ss A","HH:mm:ss"]},"showRelativeDateTime":{"type":"boolean","description":"Whether timestamps should be displayed as relative time (e.g., \"5 minutes ago\") instead of absolute date/time."},"colorTheme":{"type":"string","description":"UI theme preference.","enum":["system","light","dark"]},"scheduleShiftForFlowsCreatedAfter":{"type":"string","format":"date-time","description":"Threshold timestamp used by scheduling logic for certain flows (UI/system preference)."},"recentActivity":{"type":"object","description":"Recently accessed resources, typically keyed by environment."},"dashboard":{"type":"object","description":"Dashboard UI preferences (filters, tile order, view mode).","properties":{"view":{"type":"string","description":"Dashboard view mode.","enum":["tile","list"]},"filters":{"type":"object","description":"Dashboard filter settings."},"tilesOrder":{"type":"array","description":"Ordered list of dashboard tile ids.","items":{"type":"string"}}}},"pagination":{"type":"object","description":"Per-resource pagination settings (e.g., pageSize)."},"drawerOpened":{"type":"boolean","description":"When true, the main UI drawer/left nav is open."},"expand":{"type":["string","null"],"description":"UI section name last expanded/opened (UI state)."},"fbBottomDrawerHeight":{"type":"integer","description":"Flow Builder bottom drawer height in pixels (UI state)."},"enableAIChatbot":{"type":"boolean","description":"When true, AI chat features are enabled in the UI for this user."},"enableBeginnerGuide":{"type":"boolean","description":"When true, the beginner guide UI is enabled for this user."},"showIconView":{"type":"boolean","description":"When true, Flow Builder icon view is enabled for this user."},"allowPostmanCollectionUpload":{"type":"boolean","description":"When true, Postman collection upload UI is enabled for this user."},"helpContent":{"type":"object","description":"UI help content preferences/state."},"sampleIntegrationRequired":{"type":"boolean","description":"When true, the sample-integration walkthrough is still required for the user."},"hideGettingStarted":{"type":"boolean","description":"When true, the Getting Started banner is hidden."},"isLeftNavExpanded":{"type":"boolean","description":"When true, the left navigation sidebar is expanded."},"isNewGenFlowEnabled":{"type":"boolean","description":"When true, the next-generation Flow Builder UI is enabled for the user."},"useClickHouseForJobs":{"type":"boolean","description":"When true, the account uses ClickHouse-backed job queries."},"featureFlags":{"type":"object","description":"UI/feature flag overrides for the user (if present)."}}}}}}
```

## Get current user preferences

> Returns UI and account/environment preferences for the currently-authenticated user.\
> \
> Examples include:\
> \- date/time display formatting (\`dateFormat\`, \`timeFormat\`)\
> \- current environment selection (\`environment\`)\
> \- UI layout preferences (dashboard/pagination/drawer settings)

```json
{"openapi":"3.2.0","info":{"title":"Profile","version":"1.0.0"},"tags":[{"name":"Profile","description":"Read and update the currently-authenticated user's profile, including\ndisplay name, email, timezone, and notification preferences.\n\n## Preferences schema\n\n{% openapi-schemas spec=\"profile\" schemas=\"Preferences\" grouped=\"true\" %}"}],"servers":[{"url":"https://api.integrator.io","description":"Production (US / default region)"},{"url":"https://api.eu.integrator.io","description":"Production (EU region)"},{"url":"https://api.au.integrator.io","description":"Production (AU region)"},{"url":"https://api.ca.integrator.io","description":"Production (CA region)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Preferences":{"type":"object","description":"Complete preferences object as returned by `GET /v1/preferences`.","allOf":[{"$ref":"#/components/schemas/PreferencesBase"},{"type":"object","properties":{"lastLoginAt":{"type":"string","format":"date-time","readOnly":true,"description":"Last login timestamp recorded for the user (if present)."},"showReactSneakPeekFromDate":{"type":"string","format":"date","readOnly":true,"description":"Legacy feature-rollout date marker (UI state)."},"showReactBetaFromDate":{"type":"string","format":"date","readOnly":true,"description":"Legacy feature-rollout date marker (UI state)."},"oldDefaultAShareId":{"type":"string","readOnly":true,"description":"Previous default account-share ID, retained after switching accounts."},"resourceDrawerPanelSizes":{"type":"object","readOnly":true,"description":"Persisted panel-size state for the resource drawer (UI layout).","properties":{"left":{"type":"number","description":"Persisted size of the resource drawer's left panel."},"right":{"type":"number","description":"Persisted size of the resource drawer's right panel."}}},"accounts":{"type":"object","readOnly":true,"description":"Per-account UI state keyed by account ID."}}}]},"PreferencesBase":{"type":"object","description":"Writable preference fields shared by the request and response schemas.","properties":{"environment":{"type":"string","enum":["production","sandbox"],"description":"The selected environment context for the user."},"defaultAShareId":{"type":"string","description":"The selected account context for the user."},"defaultEnvId":{"type":"string","format":"objectId","description":"Default environment id to use when applicable."},"dateFormat":{"type":"string","description":"The user's preferred date display format used across the UI.\n\nChoose one of the supported formats.","enum":["MM/DD/YYYY","DD/MM/YYYY","DD-MMM-YYYY","DD.MM.YYYY","DD-MMMM-YYYY","DD MMMM, YYYY","YYYY/MM/DD","YYYY-MM-DD"]},"timeFormat":{"type":"string","description":"The user's preferred time display format used across the UI.","enum":["h:mm:ss A","HH:mm:ss"]},"showRelativeDateTime":{"type":"boolean","description":"Whether timestamps should be displayed as relative time (e.g., \"5 minutes ago\") instead of absolute date/time."},"colorTheme":{"type":"string","description":"UI theme preference.","enum":["system","light","dark"]},"scheduleShiftForFlowsCreatedAfter":{"type":"string","format":"date-time","description":"Threshold timestamp used by scheduling logic for certain flows (UI/system preference)."},"recentActivity":{"type":"object","description":"Recently accessed resources, typically keyed by environment."},"dashboard":{"type":"object","description":"Dashboard UI preferences (filters, tile order, view mode).","properties":{"view":{"type":"string","description":"Dashboard view mode.","enum":["tile","list"]},"filters":{"type":"object","description":"Dashboard filter settings."},"tilesOrder":{"type":"array","description":"Ordered list of dashboard tile ids.","items":{"type":"string"}}}},"pagination":{"type":"object","description":"Per-resource pagination settings (e.g., pageSize)."},"drawerOpened":{"type":"boolean","description":"When true, the main UI drawer/left nav is open."},"expand":{"type":["string","null"],"description":"UI section name last expanded/opened (UI state)."},"fbBottomDrawerHeight":{"type":"integer","description":"Flow Builder bottom drawer height in pixels (UI state)."},"enableAIChatbot":{"type":"boolean","description":"When true, AI chat features are enabled in the UI for this user."},"enableBeginnerGuide":{"type":"boolean","description":"When true, the beginner guide UI is enabled for this user."},"showIconView":{"type":"boolean","description":"When true, Flow Builder icon view is enabled for this user."},"allowPostmanCollectionUpload":{"type":"boolean","description":"When true, Postman collection upload UI is enabled for this user."},"helpContent":{"type":"object","description":"UI help content preferences/state."},"sampleIntegrationRequired":{"type":"boolean","description":"When true, the sample-integration walkthrough is still required for the user."},"hideGettingStarted":{"type":"boolean","description":"When true, the Getting Started banner is hidden."},"isLeftNavExpanded":{"type":"boolean","description":"When true, the left navigation sidebar is expanded."},"isNewGenFlowEnabled":{"type":"boolean","description":"When true, the next-generation Flow Builder UI is enabled for the user."},"useClickHouseForJobs":{"type":"boolean","description":"When true, the account uses ClickHouse-backed job queries."},"featureFlags":{"type":"object","description":"UI/feature flag overrides for the user (if present)."}}}},"responses":{"401-unauthorized":{"description":"Unauthorized. The request lacks a valid bearer token, or the provided token\nfailed to authenticate.\n\nNote: the 401 response is produced by the auth middleware **before** the\nrequest reaches the endpoint handler, so it does **not** follow the\nstandard `{errors: [...]}` envelope. Instead the body is a bare\n`{message: string}` object with no `code`, no `errors` array. Callers\nhandling 401s should key off the HTTP status and the `message` string,\nnot try to destructure an `errors[]`.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable description of the auth failure. Known values:\n- `\"Unauthorized\"` — no `Authorization` header on the request.\n- `\"Bearer Authentication Failed\"` — header present but token\n  is invalid, revoked, or expired."}},"required":["message"]}}}}}},"paths":{"/v1/preferences":{"get":{"summary":"Get current user preferences","operationId":"getPreferences","tags":["Profile"],"description":"Returns UI and account/environment preferences for the currently-authenticated user.\n\nExamples include:\n- date/time display formatting (`dateFormat`, `timeFormat`)\n- current environment selection (`environment`)\n- UI layout preferences (dashboard/pagination/drawer settings)","responses":{"200":{"description":"Preferences object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Preferences"}}}},"401":{"$ref":"#/components/responses/401-unauthorized"}}}}}}
```

## Update current user preferences

> Updates user preferences for the currently-authenticated user.\
> Only include fields you intend to change.

```json
{"openapi":"3.2.0","info":{"title":"Profile","version":"1.0.0"},"tags":[{"name":"Profile","description":"Read and update the currently-authenticated user's profile, including\ndisplay name, email, timezone, and notification preferences.\n\n## Preferences schema\n\n{% openapi-schemas spec=\"profile\" schemas=\"Preferences\" grouped=\"true\" %}"}],"servers":[{"url":"https://api.integrator.io","description":"Production (US / default region)"},{"url":"https://api.eu.integrator.io","description":"Production (EU region)"},{"url":"https://api.au.integrator.io","description":"Production (AU region)"},{"url":"https://api.ca.integrator.io","description":"Production (CA region)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Request":{"type":"object","description":"Fields that can be sent when updating the current user's preferences\nvia `PUT /v1/preferences`. Send a partial object with only the\nfields you want to change.","allOf":[{"$ref":"#/components/schemas/PreferencesBase"}]},"PreferencesBase":{"type":"object","description":"Writable preference fields shared by the request and response schemas.","properties":{"environment":{"type":"string","enum":["production","sandbox"],"description":"The selected environment context for the user."},"defaultAShareId":{"type":"string","description":"The selected account context for the user."},"defaultEnvId":{"type":"string","format":"objectId","description":"Default environment id to use when applicable."},"dateFormat":{"type":"string","description":"The user's preferred date display format used across the UI.\n\nChoose one of the supported formats.","enum":["MM/DD/YYYY","DD/MM/YYYY","DD-MMM-YYYY","DD.MM.YYYY","DD-MMMM-YYYY","DD MMMM, YYYY","YYYY/MM/DD","YYYY-MM-DD"]},"timeFormat":{"type":"string","description":"The user's preferred time display format used across the UI.","enum":["h:mm:ss A","HH:mm:ss"]},"showRelativeDateTime":{"type":"boolean","description":"Whether timestamps should be displayed as relative time (e.g., \"5 minutes ago\") instead of absolute date/time."},"colorTheme":{"type":"string","description":"UI theme preference.","enum":["system","light","dark"]},"scheduleShiftForFlowsCreatedAfter":{"type":"string","format":"date-time","description":"Threshold timestamp used by scheduling logic for certain flows (UI/system preference)."},"recentActivity":{"type":"object","description":"Recently accessed resources, typically keyed by environment."},"dashboard":{"type":"object","description":"Dashboard UI preferences (filters, tile order, view mode).","properties":{"view":{"type":"string","description":"Dashboard view mode.","enum":["tile","list"]},"filters":{"type":"object","description":"Dashboard filter settings."},"tilesOrder":{"type":"array","description":"Ordered list of dashboard tile ids.","items":{"type":"string"}}}},"pagination":{"type":"object","description":"Per-resource pagination settings (e.g., pageSize)."},"drawerOpened":{"type":"boolean","description":"When true, the main UI drawer/left nav is open."},"expand":{"type":["string","null"],"description":"UI section name last expanded/opened (UI state)."},"fbBottomDrawerHeight":{"type":"integer","description":"Flow Builder bottom drawer height in pixels (UI state)."},"enableAIChatbot":{"type":"boolean","description":"When true, AI chat features are enabled in the UI for this user."},"enableBeginnerGuide":{"type":"boolean","description":"When true, the beginner guide UI is enabled for this user."},"showIconView":{"type":"boolean","description":"When true, Flow Builder icon view is enabled for this user."},"allowPostmanCollectionUpload":{"type":"boolean","description":"When true, Postman collection upload UI is enabled for this user."},"helpContent":{"type":"object","description":"UI help content preferences/state."},"sampleIntegrationRequired":{"type":"boolean","description":"When true, the sample-integration walkthrough is still required for the user."},"hideGettingStarted":{"type":"boolean","description":"When true, the Getting Started banner is hidden."},"isLeftNavExpanded":{"type":"boolean","description":"When true, the left navigation sidebar is expanded."},"isNewGenFlowEnabled":{"type":"boolean","description":"When true, the next-generation Flow Builder UI is enabled for the user."},"useClickHouseForJobs":{"type":"boolean","description":"When true, the account uses ClickHouse-backed job queries."},"featureFlags":{"type":"object","description":"UI/feature flag overrides for the user (if present)."}}},"Preferences":{"type":"object","description":"Complete preferences object as returned by `GET /v1/preferences`.","allOf":[{"$ref":"#/components/schemas/PreferencesBase"},{"type":"object","properties":{"lastLoginAt":{"type":"string","format":"date-time","readOnly":true,"description":"Last login timestamp recorded for the user (if present)."},"showReactSneakPeekFromDate":{"type":"string","format":"date","readOnly":true,"description":"Legacy feature-rollout date marker (UI state)."},"showReactBetaFromDate":{"type":"string","format":"date","readOnly":true,"description":"Legacy feature-rollout date marker (UI state)."},"oldDefaultAShareId":{"type":"string","readOnly":true,"description":"Previous default account-share ID, retained after switching accounts."},"resourceDrawerPanelSizes":{"type":"object","readOnly":true,"description":"Persisted panel-size state for the resource drawer (UI layout).","properties":{"left":{"type":"number","description":"Persisted size of the resource drawer's left panel."},"right":{"type":"number","description":"Persisted size of the resource drawer's right panel."}}},"accounts":{"type":"object","readOnly":true,"description":"Per-account UI state keyed by account ID."}}}]},"Error":{"type":"object","description":"Standard error response envelope returned by integrator.io APIs.","properties":{"errors":{"type":"array","description":"List of errors that occurred while processing the request.","items":{"type":"object","properties":{"code":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Machine-readable error code. Usually a string like\n`invalid_ref`, `missing_required_field`, or `unauthorized`;\nmay be an **integer** when the error mirrors an upstream HTTP\nstatus (e.g. `500`) — most commonly returned by connection-ping\nand adaptor-proxy responses."},"message":{"type":"string","description":"Human-readable description of the error."},"field":{"type":"string","description":"Optional pointer to the document field that caused the error.\nUsed by structural validation errors (`missing_required_field`,\n`invalid_ref`) to indicate which field is at fault\n(e.g. `_id`, `type`, `http.baseURI`)."},"source":{"type":"string","description":"Optional origin layer for the error — e.g. `application` when\nthe error came from the remote system the adaptor called,\n`connector` when the adaptor itself rejected the request."}},"required":["message"]}}},"required":["errors"]}},"responses":{"400-bad-request":{"description":"Bad request. The server could not understand the request because of malformed syntax or invalid parameters.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401-unauthorized":{"description":"Unauthorized. The request lacks a valid bearer token, or the provided token\nfailed to authenticate.\n\nNote: the 401 response is produced by the auth middleware **before** the\nrequest reaches the endpoint handler, so it does **not** follow the\nstandard `{errors: [...]}` envelope. Instead the body is a bare\n`{message: string}` object with no `code`, no `errors` array. Callers\nhandling 401s should key off the HTTP status and the `message` string,\nnot try to destructure an `errors[]`.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable description of the auth failure. Known values:\n- `\"Unauthorized\"` — no `Authorization` header on the request.\n- `\"Bearer Authentication Failed\"` — header present but token\n  is invalid, revoked, or expired."}},"required":["message"]}}}}}},"paths":{"/v1/preferences":{"put":{"summary":"Update current user preferences","operationId":"updatePreferences","tags":["Profile"],"description":"Updates user preferences for the currently-authenticated user.\nOnly include fields you intend to change.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Request"}}}},"responses":{"200":{"description":"Updated preferences object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Preferences"}}}},"204":{"description":"Preferences updated (no body returned)."},"400":{"$ref":"#/components/responses/400-bad-request"},"401":{"$ref":"#/components/responses/401-unauthorized"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.celigo.com/api/api-reference/profile.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
