### Example HTTP Response (200 OK) Source: https://developers.worksmobile.com/kr/docs/drive-trash-file-list This is an example of a successful HTTP response (200 OK) when retrieving the list of trashed files. It includes an array of `trashFiles` and `responseMetaData` for pagination. ```JSON { "trashFiles": [ { "trashFileId": "MTQ1MDMwMDJ8MTQ1Mjk0NDU1Mjk3NnxGfDA", "fileName": "works.txt", "resourceLocation": 24101, "fileSize": 1048576, "fileType": "DOC", "originalPath": "/worksFolder/", "modifiedTime": "2021-08-14T11:06:39.39+09:00", "deletedTime": "2021-08-14T11:06:40.40+09:00", "deleteUser": "userf7da-f82c-4284-13e7-030f3b4c756x" }, { "trashFileId": "MTEwMDAyNTA0NjQ1ODQ5fDM0NzI0NzM3OTg1ODg1NDgzNjB8Rnww", "fileName": "DeletedFolder", "resourceLocation": 24101, "fileSize": 0, "fileType": "FOLDER", "originalPath": "/", "modifiedTime": "2021-08-14T11:06:39.39+09:00", "deletedTime": "2021-08-14T11:06:40.40+09:00", "deleteUser": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "responseMetaData": { "nextCursor": "JlIBsfJogXpzDGY8OscZziqZpYqCAu3RbZbaFzBb1od6lWQtSdPUd2FIdCuaGgu8DA==" } } ``` -------------------------------- ### GET /components/section-line Source: https://developers.worksmobile.com/kr/docs/approval-document-company-document-detail-section-line Retrieves the configuration and metadata for a section line component used in the application interface. ```APIDOC ## GET /components/section-line ### Description Retrieves the definition of a '구분선' (Section Line) component, including its ID and type metadata. ### Method GET ### Endpoint /components/section-line ### Parameters None ### Request Example N/A ### Response #### Success Response (200) - **componentType** (string) - The type identifier for the component. - **componentName** (string) - The display name of the component. - **componentId** (string) - The unique identifier for the component instance. #### Response Example [ { "componentType": "CP_SECTION_LINE", "componentName": "구분선", "componentId": "ID", "componentCustomId": "", "componentLabel": "", "componentValue": {} } ] ``` -------------------------------- ### File Upload URL Response Example with Resume (JSON) Source: https://developers.worksmobile.com/kr/docs/group-folder-file-root-create Example of an HTTP 200 response when generating a file upload URL with the resume option. The offset indicates the starting point for the resumed upload. ```json { "uploadUrl": "https://apis-storage.worksmobile.com/k1/drive/r/24101/160521/160521/100001500064253/3472589353794602761?param=ewogICJwYXJlbnRLZXkiIDogInJvb3QiLAogICJmaWxlTmFtZSIgOiAi7ZWc6riALnR4dCIsCiAgImZpbGVTaXplIiA6IDMsCiAgIm1vZGlmaWVkVGltZSIgOiAiMjAxOS0wOC0yNFQxNDoxNToyMloiLAogICJhZGRvbktleSIgOiBudWxsCn0&writeMode=resume&rangeStartOffset=100&auth=OPEN", "offset": 100 } ``` -------------------------------- ### Get User Contact Tags Response Example (200 OK) Source: https://developers.worksmobile.com/kr/docs/contact-tag-user-list This is an example of a successful response (HTTP 200 OK) from the Get User Contact Tags API. It includes an array of contact tags, each with its ID, name, and type, along with metadata for pagination. ```JSON { "contactTags": [ { "contactTagId": "ctag2a81-94b6-4642-6903-03aa7977da91", "contactTagName": "company tag", "type": "COMPANY" }, { "contactTagId": "ctaguser-94b6-4642-6903-03aa7977da69", "contactTagName": "user tag", "type": "USER", "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "responseMetaData": { "nextCursor": "JlIBsfJogXpzDGY8OscZziqZpYqCAu3RbZbaFzBb1od6lWQtSdPUd2FIdCuaGgu8DA==" } } ``` -------------------------------- ### Response Example for Component Properties (JSON) Source: https://developers.worksmobile.com/kr/docs/approval-document-component-attribute-guide This JSON structure represents an example response for component properties, specifically detailing the 'CP_GUIDE' type which is used for setting output content. It includes attributes like type, ID, name, and value. ```json [ { "attributeType": "CP_GUIDE", "attributeId": "001", "attributeName": "출력 내용 설정", "attributeValue": { "value": "인사팀에 연락 바랍니다." } } ] ``` -------------------------------- ### Get Bot Channel Members Response Example Source: https://developers.worksmobile.com/kr/docs/bot-channel-member-list This is an example of a successful HTTP 200 response when retrieving members from a bot-enabled channel. It includes a list of member IDs and metadata for pagination. ```JSON { "members": [ "560dd110-b4f9-44a4-1322-04bac6fff134", "a3d99c51-62bd-4968-1390-041849ad14a5" ], "responseMetaData": { "nextCursor": "eyJjcmVhdGVkVGltZSI6MTYzOTY2ODU2NCwib2Zmc2V0IjoyLCJsaW1pdCI6Mr0=" } } ``` -------------------------------- ### Create Board Request Example Source: https://developers.worksmobile.com/kr/docs/board-create A JSON payload example for the POST /boards request. It requires the 'boardName' field, with an optional 'description' field. ```json { "boardName": "Notice", "description": "Notice Description" } ``` -------------------------------- ### Create Group Request Example Source: https://developers.worksmobile.com/kr/docs/group-create An example JSON payload for creating a new group, demonstrating the structure for domain ID, group details, administrators, members, and dynamic membership settings. ```json { "domainId": 10000001, "groupId": "group127-8545-4463-603b-04d550d23bf", "groupName": "그룹1", "description": "도메인 그룹", "visible": true, "useServiceNotification": true, "serviceManageable": true, "groupExternalKey": "GROUP_EXT_01", "administrators": [ { "userExternalKey": "USER_EXT_01", "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "members": [ { "externalKey": "USER_EXT_01", "id": "userf7da-f82c-4284-13e7-030f3b4c756x", "type": "USER" }, { "externalKey": "ORGUNIT_EXT_01", "id": "orgunitf-f27f-4af8-27e1-03817a911417", "type": "ORGUNIT" }, { "externalKey": "GROUP_EXT_01", "id": "group769-e656-477d-69c7-04e2f73a4a77", "type": "GROUP" } ], "useMessage": true, "useNote": true, "useCalendar": true, "useFolder": true, "useTask": true, "useMail": true, "groupEmail": "email@example.com", "aliasEmails": [ "alias@example.com" ], "canReceiveExternalMail": true, "toExternalEmails": [ "external@example.com" ], "membersAllowedToUseGroupEmailAsRecipient": [ { "userExternalKey": "USER_EXT_01", "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "membersAllowedToUseGroupEmailAsSender": [ { "userExternalKey": "USER_EXT_01", "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "useDynamicMembership": true, "dynamicMembership": { "query": "user.levelId == levelaa7-b824-4937-66af-042f1f43cefa", "excludeUserIds": [ "userf7da-f82c-4284-13e7-030f3b4c756x" ] } } ``` -------------------------------- ### Get User's Trashed Files List (JavaScript Example) Source: https://developers.worksmobile.com/kr/docs/drive-trash-file-list Example of how to fetch the list of trashed files using JavaScript. This code demonstrates making a GET request to the API endpoint. It requires an OAuth2 token for authorization and handles the response data. ```JavaScript async function getTrashFiles(userId, token) { const url = `https://www.worksapis.com/v1.0/users/${userId}/drive/trash-files`; try { const response = await fetch(url, { method: 'GET', headers: { 'Authorization': `Bearer ${token}` } }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); return data; } catch (error) { console.error('Error fetching trash files:', error); return null; } } ``` -------------------------------- ### Get Group Members Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/group-member-list This is an example of a successful HTTP 200 response when retrieving group members. It includes a list of members, each with their external key, ID, and type, along with metadata for pagination. ```json { "members": [ { "externalKey": "USER_EXT_01", "id": "userf7da-f82c-4284-13e7-030f3b4c756x", "type": "USER" }, { "externalKey": "ORGUNIT_EXT_01", "id": "orgunitf-f27f-4af8-27e1-03817a911417", "type": "ORGUNIT" }, { "externalKey": "GROUP_EXT_01", "id": "group769-e656-477d-69c7-04e2f73a4a77", "type": "GROUP" } ], "responseMetaData": { "nextCursor": "JlIBsfJogXpzDGY8OscZziqZpYqCAu3RbZbaFzBb1od6lWQtSdPUd2FIdCuaGgu8DA==" } } ``` -------------------------------- ### Request Example for Group Creation/Update Source: https://developers.worksmobile.com/kr/docs/group-update-put This JSON object represents a sample request payload for creating or updating a group. It includes details like domain ID, group name, description, visibility settings, service notification preferences, member lists, and email configurations. Note that some fields like 'useMessage' and 'useMail' have specific product or feature dependencies. ```json { "domainId": 10000001, "groupName": "그룹1", "description": "도메인 그룹", "visible": true, "useServiceNotification": true, "serviceManageable": true, "groupExternalKey": "GROUP_EXT_01", "administrators": [ { "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "members": [ { "id": "userf7da-f82c-4284-13e7-030f3b4c756x", "type": "USER" }, { "id": "orgunitf-f27f-4af8-27e1-03817a911417", "type": "ORGUNIT" }, { "id": "group769-e656-477d-69c7-04e2f73a4a77", "type": "GROUP" } ], "useMessage": true, "useNote": true, "useCalendar": true, "useFolder": true, "useTask": true, "useMail": true, "groupEmail": "email@example.com", "aliasEmails": [ "alias@example.com" ], "canReceiveExternalMail": true, "toExternalEmails": [ "external@example.com" ], "membersAllowedToUseGroupEmailAsRecipient": [ { "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "membersAllowedToUseGroupEmailAsSender": [ { "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "dynamicMembership": { "query": "user.levelId == levelaa7-b824-4937-66af-042f1f43cefa", "excludeUserIds": [ "userf7da-f82c-4284-13e7-030f3b4c756x" ] } } ``` -------------------------------- ### Rich Menu Creation Request Example (JSON) Source: https://developers.worksmobile.com/kr/docs/bot-richmenu-create This JSON object demonstrates the structure for creating a rich menu. It includes properties for the menu name, its interactive areas, and the overall size of the rich menu. The 'areas' property defines clickable regions with associated actions, bounds, and internationalized display texts and labels. ```json { "richmenuName": "Example Richmenu", "areas": [ { "action": { "type": "postback", "label": "Example label", "data": "Example data", "displayText": "Example displayText", "i18nDisplayTexts": [ { "language": "en_US", "displayText": "Example display text" } ], "i18nLabels": [ { "language": "en_US", "label": "Example label" } ] }, "bounds": { "x": 0, "y": 0, "width": 2500, "height": 843 } } ], "size": { "width": 2500, "height": 843 } } ``` -------------------------------- ### Get Shared Folders Response Example Source: https://developers.worksmobile.com/kr/docs/sharedfolder-list This example demonstrates the structure of a successful HTTP 200 response when retrieving shared folders. It includes response metadata and an array of shared folder objects, each with detailed properties. ```json { "responseMetaData": { "nextCursor": "TlRnd09UQXdORjlFWHprek9Ea3lPRFUyTWpRek5nfGRlIHdhbnRzIHRvIHNoYXJl" }, "sharedFolders": [ { "sharedFolderId": "NTgwOTAwNF9EXzkzODkyODU2MjQzNg", "sharedFolderName": "share", "ownerId": "userf7da-f82c-4284-13e7-030f3b4c756x", "ownerName": "ownerName", "rootFileId": "NTgwOTAwNHw5Mzg5Mjg1NjI0MzZ8RHwxNzQ", "createdTime": "2023-07-06T16:27:28+09:00", "modifiedTime": "2023-07-06T16:27:28+09:00", "resourceLocation": 11551, "permissionType": "WRITE", "useRevision": true, "protected": false } ] } ``` -------------------------------- ### Create Board Response Example Source: https://developers.worksmobile.com/kr/docs/board-create A JSON response example returned upon successful board creation (HTTP 201). It includes the generated 'boardId', 'displayOrder', and timestamps. ```json { "boardId": 100, "boardName": "Notice", "description": "Notice Description", "createdTime": "2022-10-28T17:26:35+09:00", "modifiedTime": "2022-10-28T17:26:35+09:00", "displayOrder": 1 } ``` -------------------------------- ### Get User Email Response Example Source: https://developers.worksmobile.com/kr/docs/user-get-email This is an example of a successful HTTP 200 response when retrieving a user's email. It returns the user's ID and their associated email address. The 'email' field has a maximum length of 90 characters. ```JSON { "userId": "userf7da-f82c-4284-13e7-030f3b4c756x", "email": "localpart@example.com" } ``` -------------------------------- ### Request Example for Group Management (JSON) Source: https://developers.worksmobile.com/kr/docs/group-update-patch This JSON object represents an example request payload for managing a group. It includes various settings such as domain ID, group name, service notification preferences, administrator details, and email configurations. Note that some fields like 'useMessage' and 'useMail' have specific product or feature dependencies. ```json { "domainId": 10000001, "groupName": "그룹1", "useServiceNotification": true, "serviceManageable": true, "groupExternalKey": "GROUP_EXT_01", "administrators": [ { "userId": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "useMessage": false, "useNote": false, "useCalendar": false, "useFolder": false, "useTask": false, "useMail": true, "groupEmail": "email@example.com", "canReceiveExternalMail": true, "toExternalEmails": [ "external@example.com" ], "membersAllowedToUseGroupEmailAsRecipient": [], "dynamicMembership": { "query": "user.levelId == levelaa7-b824-4937-66af-042f1f43cefa", "excludeUserIds": [ "userf7da-f82c-4284-13e7-030f3b4c756x" ] } } ``` -------------------------------- ### Get External Browser Usage Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/security-external-browser-get This is an example of a successful HTTP 200 response when querying the external browser usage. It returns the domainId and a boolean indicating whether external browser usage is enabled. ```json { "domainId": 10000001, "useExternalBrowser": false } ``` -------------------------------- ### Certificate Application Response Example Source: https://developers.worksmobile.com/kr/docs/approval-document-basic-document-certificate Provides an example of a successful response when a certificate application is processed. This JSON object illustrates the expected format of the returned data, confirming the details of the requested certificate. ```json { "certificate": "재직증명서", "recipient": "은행", "copiesCount": 1, "description": "원본신청" } ``` -------------------------------- ### Get Comments Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/board-post-comment-list This is an example of the JSON response received when successfully retrieving comments. It includes details for a single comment and demonstrates the structure for boardId, postId, commentId, content, timestamps, user information, and flags. ```JSON { "boardId": 100, "postId": 1, "commentId": 1, "content": "Example content", "createdTime": "2022-10-28T17:26:35+09:00", "modifiedTime": "2022-10-28T17:26:35+09:00", "userId": "userf7da-f82c-4284-13e7-030f3b4c756x", "userName": "Susan Nielsen", "hasReply": false, "hasAttachment": false, "isDeleted": false } ``` -------------------------------- ### Get Calendar Sharing Properties (Response Example) Source: https://developers.worksmobile.com/kr/docs/calendar-get This is an example of a successful HTTP 200 response when retrieving calendar sharing properties. It includes details like calendar name, description, members, email, ID, public status, and type. ```json { "calendarName": "calendar", "description": "memo", "members": [ { "id": "member1@example.com", "type": "USER", "role": "CALENDAR_EVENT_READ_WRITE" }, { "id": "member2@example.com", "type": "USER", "role": "EVENT_READ_WRITE" } ], "calendarEmail": "calendar-96b8-4c74-8277-7953e0b4604a@jp1-groups.example.com", "calendarId": "calendar-96b8-4c74-8277-7953e0b4604a", "isPublic": true, "type": "INDIVIDUAL" } ``` -------------------------------- ### POST /boards Source: https://developers.worksmobile.com/kr/docs/board-create 새로운 게시판을 생성합니다. 이 작업은 게시판 관리자 권한이 필요하며, 생성된 게시판은 목록의 마지막에 공개 게시판으로 추가됩니다. ```APIDOC ## POST /boards ### Description 게시판을 생성합니다. 게시판 관리자 권한이 있어야 하며, 생성된 게시판은 맨 마지막 위치에 공개 게시판으로 생성됩니다. ### Method POST ### Endpoint https://www.worksapis.com/v1.0/boards ### Parameters #### Header Parameters - **Authorization** (string) - Required - Bearer {token} - **Content-Type** (string) - Required - application/json #### Request Body - **boardName** (string) - Required - 제목 (최소 1자, 최대 60자) - **description** (string) - Optional - 설명 (최대 300자) ### Request Example ```json { "boardName": "Notice", "description": "Notice Description" } ``` ### Response #### Success Response (201) - **boardId** (integer) - 게시판 번호 - **boardName** (string) - 제목 - **description** (string) - 설명 - **createdTime** (string) - 생성 시간 (YYYY-MM-DDThh:mm:ssTZD 형식) - **modifiedTime** (string) - 수정 시간 (YYYY-MM-DDThh:mm:ssTZD 형식) - **displayOrder** (integer) - 게시판 순서 #### Response Example ```json { "boardId": 100, "boardName": "Notice", "description": "Notice Description", "createdTime": "2022-10-28T17:26:35+09:00", "modifiedTime": "2022-10-28T17:26:35+09:00", "displayOrder": 1 } ``` #### Error Response (403) - Forbidden ``` -------------------------------- ### WOFF URL Execution Flow Source: https://developers.worksmobile.com/kr/docs/woff-guide Demonstrates how the WOFF URL redirects to the configured Endpoint URL, including how additional path and query parameters are appended during the transition. ```text WOFF URL: https://woff.worksmobile.com/woff/1654426689BR7LN87b Endpoint URL: https://example.com/my-app/?key=value 추가 정보가 포함된 WOFF URL: https://woff.worksmobile.com/woff/1654426689BR7LN87b/path_A/?key1=value1 추가 정보가 포함된 WOFF URL에 액세스할 때 리디렉션되는 URL: https://example.com/my-app/path_A/?key=value&key1=value1 ``` -------------------------------- ### User Type External Keys Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/directory-user-type-external-key-list This is an example of a successful HTTP 200 response for the GET /directory/user-types/external-keys endpoint. It contains a list of user types, each with its domain ID, name, ID, and external key, along with response metadata including the next cursor for pagination. ```json { "userTypes": [ { "domainId": 10000001, "name": "name01", "id": "employ2c-f321-47a6-ac11-e81fcc23a8c3", "externalKey": "USERTYPE_EXT_01" }, { "domainId": 10000001, "name": "name02", "id": "employ0f-997b-4f47-9267-463f15e908a3", "externalKey": "USERTYPE_EXT_02" } ], "responseMetaData": { "nextCursor": "JlIBsfJogXpzDGY8OscZziqZpYqCAu3RbZbaFzBb1od6lWQtSdPUd2FIdCuaGgu8DA==" } } ``` -------------------------------- ### Get Domain Custom Fields List - Response Example Source: https://developers.worksmobile.com/kr/docs/directory-customer-field-list This example demonstrates the structure of a successful HTTP 200 response when retrieving custom field definitions. It includes an array of custom field objects, each with its domain ID, resource ID, external key, name, type, and display order. ```json { "customFields": [ { "domainId": 10000001, "customFieldId": "customfd-fc09-4a57-ab38-03dc6c425e09", "customFieldExternalKey": "CUSTOMFIELDEXT01", "customFieldName": "custom01", "customFieldType": "LINK", "displayOrder": 1 } ] } ``` -------------------------------- ### Contact Creation/Update Request Example (JSON) Source: https://developers.worksmobile.com/kr/docs/contact-update-put This JSON object represents a sample request payload for creating or updating contact information. It includes details such as permission settings, contact name, emails, phone numbers, organizations, locations, events, messengers, websites, memo, tags, and custom properties. ```json { "permission": { "masterUserId": "userf7da-f82c-4284-13e7-030f3b4c756x", "isCoEditing": true, "accessibleRange": "ALL" }, "contactName": { "lastName": "홍", "firstName": "길동", "nickName": "HONG" }, "emails": [ { "email": "example1@example.com", "primary": true }, { "email": "example2@example.com", "primary": false } ], "telephones": [ { "type": "CELLPHONE", "telephone": "0000-0001", "primary": true }, { "type": "HOME", "telephone": "0000-0002", "primary": false } ], "organizations": [ { "name": "example company name", "department": "department", "title": "title", "primary": true } ], "locations": [ { "address": "example1 address", "zipCode": "00001", "type": "WORK", "primary": true }, { "address": "example2 address", "zipCode": "00002", "type": "HOME", "primary": false } ], "events": [ { "date": "2021-01-09", "dayType": "SOLAR", "type": "BIRTHDAY", "primary": true }, { "date": "2021-08-09", "dayType": "SOLAR", "type": "ANNIVERSARY", "primary": false } ], "messengers": [ { "id": "example1", "type": "LINE", "primary": true }, { "id": "example2", "type": "CUSTOM", "customType": "Worksmobile", "primary": false } ], "websites": [ { "url": "https://example1.com", "primary": true }, { "url": "https://example2.com", "primary": false } ], "memo": "memo", "contactTagIds": [ "ctag2a81-94b6-4642-6903-03aa7977da91", "3512644d-a731-4602-6912-031febc8bce2" ], "customProperties": { "string_single": { "content": "ext_id" }, "string_multi": [ { "content": "ext_id", "represent": true }, { "content": "connect", "represent": false } ], "link_single": { "text": "worksmobile", "link": "https://contact.worksmobile.com" }, "link_multi": [ { "text": "worksmobile", "link": "https://contact.worksmobile.com", "represent": true }, { "text": "line", "link": "https://www.line.me/", "represent": false } ] } } ``` -------------------------------- ### File Listing API Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/drive-file-root-list This JSON object represents a successful response from the file listing API. It includes an array of file objects, each with details like file ID, name, path, type, and timestamps. It also contains metadata for pagination. ```json { "files": [ { "fileId": "QDIxMDAwMDAwMDAwMTcwfDExODE1MDg3MzQ0NzJ8RHww", "parentFileId": "QDIxMDAwMDAwMDAwMTcwfDExNzgyODY2MjgxMDR8RHww", "resourceLocation": 24101, "fileSize": 10, "fileName": "works.txt", "filePath": "/works.txt", "fileType": "DOC", "createdTime": "2020-11-13T18:20:05.05+09:00", "modifiedTime": "2021-04-05T21:14:05.05+09:00", "accessedTime": "2021-04-05T21:14:05.05+09:00", "statuses": [], "hasPermission": false, "permissionRootFileId": null, "shared": false, "shareRootFileId": null }, { "fileId": "NzExNTMwMDF8MTQ2NzA1NjAxMDAwMHxGfDA", "parentFileId": "QDIxMDAwMDAwMDAwMTcwfDExNzgyODY2MjgxMDR8RHww", "resourceLocation": 24101, "fileSize": 0, "fileName": "worksFolder", "filePath": "/worksFolder/", "fileType": "FOLDER", "createdTime": "2020-11-13T18:20:05.05+09:00", "modifiedTime": "2021-04-05T21:14:05.05+09:00", "accessedTime": "2021-04-05T21:14:05.05+09:00", "statuses": [], "hasPermission": false, "permissionRootFileId": null, "shared": false, "shareRootFileId": null } ], "responseMetaData": { "nextCursor": "JlIBsfJogXpzDGY8OscZziqZpYqCAu3RbZbaFzBb1od6lWQtSdPUd2FIdCuaGgu8DA==" } } ``` -------------------------------- ### Get Organization Unit Members Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/orgunit-member-list This is an example of a successful HTTP 200 response when retrieving organization unit members. It includes a list of members, each with their ID, external key, manager status, visibility, and team feature usage. It also contains response metadata with a cursor for pagination. ```JSON { "members": [ { "userId": "userf7da-f82c-4284-13e7-030f3b4c756x", "userExternalKey": "USER_EXT_01", "isManager": true, "visible": true, "useTeamFeature": true } ], "responseMetaData": { "nextCursor": "JlIBsfJogXpzDGY8OscZziqZpYqCAu3RbZbaFzBb1od6lWQtSdPUd2FIdCuaGgu8DA==" } } ``` -------------------------------- ### Get Group Folder File Revisions Response Example Source: https://developers.worksmobile.com/kr/docs/group-folder-file-revision-list This is an example of a successful HTTP 200 response when requesting file revisions. It includes an array of file revisions, each with details like revision ID, file size, type, and timestamps, along with response metadata containing the next cursor for pagination. ```JSON { "revisions": [ { "revisionId": "0", "resourceLocation": 24101, "fileSize": 52255, "fileType": "IMAGE", "originalPath": "/worksFolder/mobile-18_jpeg.jpeg", "createdTime": "2017-06-22T10:50:59.59+09:00", "modifiedTime": "2017-05-11T18:31:20.20+09:00", "updateUser": "userf7da-f82c-4284-13e7-030f3b4c756x" } ], "responseMetaData": { "nextCursor": "JlIBsfJogXpzDGY8OscZziqZpYqCAu3RbZbaFzBb1od6lWQtSdPUd2FIdCuaGgu8DA==" } } ``` -------------------------------- ### SCIM Attribute Mapping Example (WORKS) Source: https://developers.worksmobile.com/kr/docs/scim-okta-custom-setting Example of SCIM attribute mapping between Okta and WORKS. This demonstrates how Okta profile attributes are mapped to SCIM properties, including handling email aliases and other contact information. Custom expressions can be used for specific mapping requirements. ```text SCIM Property| Okta 매핑 타입| Okta 매핑값 userName| Application username format| 1. If Okta username is email format and domain part is same as WORKS - Select Okta username - Map user.email to emails[type eq "alias"].value as secondary email. Note: Okta username and user.email must be different. 2. If Okta User Profile's email attribute domain part is same as WORKS - Select Email - Do not map user.email to emails[type eq "alias"].value. 3. If Okta username and email domain part are not same as WORKS or not email format - Select Custom - Expression: toLowerCase(String.substringBefore(user.email, '@')) + "@{domainPart}" name.familyName| Map from Okta Profile| user.firstName name.givenName| Map from Okta Profile| user.lastName nickName| Map from Okta Profile| user.nickName preferredLanguage| Map from Okta Profile| user.preferredLanguage timezone| Map from Okta Profile| user.timezoneemails[type eq "alias"].type| 식| (user.email!=null && user.email!='') ? 'alias' : ''emails[type eq "alias"].value| Map from Okta Profile| user.emailemails[type eq "other"].type| 식| (user.secondEmail!=null&&user.secondEmail!='') ? 'other' : ''emails[type eq "other"].value| Map from Okta Profile| user.secondEmail phoneNumbers[type eq "work"].type| 식| (user.primaryPhone != null && user.primaryPhone != '') ? 'work' : '' phoneNumbers[type eq "work"].value| Map from Okta Profile| user.primaryPhone phoneNumbers[type eq "mobile"].type| 식| (user.mobilePhone!= null && user.mobilePhone!= '') ? 'mobile' : '' phoneNumbers[type eq "mobile"].value| Map from Okta Profile| user.mobilePhone ``` -------------------------------- ### Get User Extension Properties Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/business-support-human-resource-user-extension-property-list This is an example of a successful HTTP 200 response when retrieving user extension properties. It includes an array of UserExtensionProperty objects, each detailing an extension property with its ID, name, localized names, type, and value. Response metadata for cursor-based pagination is also provided. ```JSON { "userExtensionProperties": [ { "extensionPropertyId": "0c330ee1-112b-40a7-b30e-e1112ba0a75a", "extensionPropertyName": "사내 동호회", "i18nNames": [ { "language": "ko_KR", "name": "사내 동호회" } ], "propertyType": "DROPDOWN", "propertyValue": "1a4fe403-a9b9-4ce7-8fe4-03a9b96ce7d9" } ], "responseMetaData": { "nextCursor": "ssiakdkaslA!@asds" } } ``` -------------------------------- ### POST /business-support/business-places Source: https://developers.worksmobile.com/kr/docs/business-place Creates a new business place entry. ```APIDOC ## POST /business-support/business-places ### Description Creates a new business place in the system. ### Method POST ### Endpoint /business-support/business-places ### Request Body - **name** (string) - Required - The name of the business place ### Request Example { "name": "Main Office" } ### Response #### Success Response (200) - **businessPlaceId** (string) - The unique identifier of the created business place #### Response Example { "businessPlaceId": "bp_12345" } ``` -------------------------------- ### Approval Category Response Example (JSON) Source: https://developers.worksmobile.com/kr/docs/approval-category-get This is an example of a successful HTTP 200 response when fetching an approval category. It includes the category ID, name, and an array of multilingual names. ```json { "categoryId": 112, "categoryName": "총무", "i18nNames": [ { "name": "총무", "language": "ko_KR" } ] } ``` -------------------------------- ### Retrieve Job Level Details via HTTP GET Source: https://developers.worksmobile.com/kr/docs/directory-level-get An example request URL for fetching job level information using a specific level ID and domain ID. ```HTTP GET https://www.worksapis.com/v1.0/directory/levels/{levelId}?domainId=10000001 ``` -------------------------------- ### Text Component Configuration Example (JSON) Source: https://developers.worksmobile.com/kr/docs/bot-send-flex-text An example demonstrating how to configure the Text component with various properties such as text content, size, alignment, weight, and color. This configuration is typically used within a larger UI structure like a bubble or box. ```json { "type": "bubble", "body": { "type": "box", "layout": "vertical", "contents": [ { "type": "text", "text": "The work site begins to move.", "size": "sm", "align": "center", "color": "#ff0000" }, { "type": "text", "text": "The work site begins to move.", "size": "md", "align": "center", "color": "#00ff00" }, { "type": "text", "text": "The work site begins to move.", "size": "lg", "align": "center", "weight": "bold", "color": "#0000ff" } ] } } ``` -------------------------------- ### OIDC Logout using cURL (GET) Source: https://developers.worksmobile.com/kr/docs/auth-oauth This example shows how to initiate an OIDC logout request using the HTTP GET method with cURL. It requires an `id_token_hint`, `client_id`, and `post_logout_redirect_uri`. The `state` parameter is optional and used for CSRF prevention. ```shell curl -location -request GET 'https://auth.worksmobile.com/oauth2/v2.0/logout?id_token_hint=eyJ0e...&client_id=X6xn4...&post_logout_redirect_uri=https%3A%2F%2Fyourdomain.com%2Flogout%2Fcallback&state=UmyR2sX9gO' ```