### Offset and Limit Paging Request Example Source: https://developer.hyperproof.app/hypersync-sdk/mastering-pagination.md This is an example of an HTTP GET request using offset and limit parameters to fetch data. It demonstrates how to specify the starting point and the number of items to retrieve. ```http GET /api/v1/tickets?offset=0&limit=100 ``` -------------------------------- ### Example API Request URL Source: https://developer.hyperproof.app/hyperproof-api/api-002.1-oauth-auth-code-flow This is an example of a GET request to retrieve a specific control by its ID. ```http GET https://api.hyperproof.app/v1/controls/{controlId} ``` -------------------------------- ### Example Proof Type JSON Source: https://developer.hyperproof.app/hypersync-sdk/doc/055-proof-type-json.md This is an example of a complete proof type JSON file, demonstrating the structure for description, criteria, and proofSpec properties. ```json { "description": "{{messages.PROOF_TYPE_USER_LIST}}", "criteria": [{ "name": "group", "page": 0 }], "proofSpec": { "period": "monthly", "useVersioning": true, "suggestedName": "{{messages.PROOF_TYPE_USER_LIST}}", "format": "tabular", "orientation": "landscape", "title": "{{messages.CONNECTOR_NAME}}", "subtitle": "{{messages.PROOF_TYPE_USER_LIST}}", "dataSet": "users", "dataSetParams": { "group": "{{criteria.group}}" }, "noResultsMessage": "{{messages.NO_USERS}}", "sort": [ { "property": "lastName", "direction": "ascending" } ], "fields": [ { "property": "firstName", "label": "{{messages.LABEL_FIRST_NAME}}", "width": "400px", "type": "text" }, { "property": "lastName", "label": "{{messages.LABEL_LAST_NAME}}", "width": "400px", "type": "text" }, { "property": "email", "label": "{{messages.LABEL_EMAIL_ADDRESS}}", "width": "200px", "type": "text" }, { "property": "status", "label": "{{messages.LABEL_STATUS}}", "width": "200px", "type": "text" } ], "webPageUrl": "https://myservice.com/users" } } ``` -------------------------------- ### Example proofTypes.json structure Source: https://developer.hyperproof.app/hypersync-sdk/doc/054-proof-types-json.md This example demonstrates the structure of the proofTypes.json file, including proof type labels, categories, and schema categories. ```json { "$schema": "https://cdn.jsdelivr.net/gh/Hyperproof/hypersync-sdk/schema/proofProviders.schema.json", "groupMembershipList": { "label": "{{messages.PROOF_TYPE_MEMBERSHIP_LIST}}", "category": "users" }, "userList": { "label": "{{messages.PROOF_TYPE_USER_LIST}}", "category": "users" }, "deviceList": { "label": "{{messages.PROOF_TYPE_DEVICE_LIST}}", "category": "devices" }, "listOfUsersApplication": { "label": "{{messages.PROOF_TYPE_USER_LIST}}", "schemaCategory": "uarApplication" } } ``` -------------------------------- ### Example API Request to Retrieve Control Source: https://developer.hyperproof.app/hyperproof-api/api-002-oauth-client-credentials-flow.md This example shows a GET request to retrieve a specific control from the Hyperproof API. Replace {controlId} with the actual ID of the control you wish to fetch. ```http GET https://api.hyperproof.app/v1/controls/{controlId} ``` -------------------------------- ### Example User Response Source: https://developer.hyperproof.app/hyperproof-api/users/users.openapi/other/get-org-users This is an example of the JSON response you will receive when successfully retrieving a list of users. It includes basic user information. ```json [ { "id": "d2363cab-5199-11ee-a644-522476618ae8", "status": "active", "type": "activeUser", "userId": "82d7c228-8bcd-11e9-a94b-ab3de8494987", "email": "jane.doe@example.com", "givenName": "Jane", "surname": "Doe", "language": "en", "locale": "US", "timeZone": "America/Los_Angeles", "title": "Compliance Manager", "lastLogin": "2023-05-12T14:16:27.41766Z", "permissions": [] } ] ``` -------------------------------- ### Verify Hyperproof CLI Installation Source: https://developer.hyperproof.app/hypersync-sdk/doc/hyperproof-cli.md Confirms that the Hyperproof CLI has been successfully installed by checking its version. This command should be run after installation on any platform. ```bash hp --version ``` -------------------------------- ### Install Hyperproof CLI on macOS using Homebrew Source: https://developer.hyperproof.app/hypersync-sdk/doc/hyperproof-cli.md Installs the Hyperproof CLI on macOS after adding the Hyperproof tap. Ensure .Net Runtime 8.0 and Homebrew are installed first. ```bash brew tap Hyperproof/hyperproof brew install hyperproof-cli ``` -------------------------------- ### Install Dependencies with Yarn Source: https://developer.hyperproof.app/hypersync-sdk/migration-v3-to-v6.md Run `yarn install` to install or update your project's dependencies after modifying `package.json`. ```bash yarn install ``` -------------------------------- ### Add Policy Example Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Adds a new policy to the Hyperproof system. This example shows the structure of the JSON payload required for creating a policy, including custom fields. ```json { "name": "Password Policy", "description": "Password acceptance criteria.", "ownerId": "82d7c228-8bcd-11e9-a94b-ab3de8494987", "customFields": [ { "fieldId": "ceb912ab-519b-11ee-a644-522476618ae8", "textValue": "John Smith" } ] } ``` -------------------------------- ### Install and Build Hypersync App Dependencies Source: https://developer.hyperproof.app/hypersync-sdk/doc/002-dev-workflow.md Install project dependencies using yarn and build the TypeScript project before importing the Hypersync app. ```bash yarn install ``` ```bash yarn build ``` -------------------------------- ### Next Token Paging Response Example (URL) Source: https://developer.hyperproof.app/hypersync-sdk/mastering-pagination.md An example of an API response that provides a full URL for the next page of results, which is used in next token pagination. ```json { "results": [ ... ], "nextPageUrl": "https://api.example.com/api/v1/events?cursor=abc123&size=50" } ``` -------------------------------- ### Refresh Access Token Response Example Source: https://developer.hyperproof.app/hyperproof-api/api-002.1-oauth-auth-code-flow This is an example of a successful response when refreshing an access token. It includes new access and refresh tokens. ```json { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2ZXIiOiIxLjAiLCJpc3Mi…", "refresh_token": "iTVmyDLIJf9coJGdAfkb11p_3Zs", "token_type": "bearer", "expires_in": 3600, "refresh_token_expires_in": 473040000 } ``` -------------------------------- ### Get Current User Profile Response (JSON) Source: https://developer.hyperproof.app/hyperproof-api/users/users.openapi/other/get-org-users This is an example of a successful JSON response when retrieving the current user's profile. It includes basic user information and can contain expanded details if requested. ```json { "id": "82d7c228-8bcd-11e9-a94b-ab3de8494987", "givenName": "John", "surname": "Smith", "email": "john.smith@example.com", "language": "en", "locale": "US", "timeZone": "America/Los_Angeles", "title": "Compliance Manager", "identityProviders": [ "google.com", "okta.com" ], "lastLogin": "2023-05-12T14:16:27.41766Z", "state": "valid", "verifiedOn": "2023-05-12T14:16:27.41766Z", "termsAcceptedOn": "2023-05-12T14:16:27.41766Z", "lastPasswordReset": "2024-01-15T09:30:00.00000Z" } ``` -------------------------------- ### Example of Data Type Mismatch Errors Source: https://developer.hyperproof.app/hypersync-sdk/handle-data-types.md These are examples of type mismatch errors that were previously ignored but will now cause Hypersyncs to fail. ```text '1' could not be processed as type Text '1 July 1970' could not be processed as type Date False could not be processed as type Text ``` -------------------------------- ### Offset and Limit Paging Response Example Source: https://developer.hyperproof.app/hypersync-sdk/mastering-pagination.md This is an example JSON response structure for an API using offset and limit pagination. It includes the requested data and the total count for pagination purposes. ```json { "tickets": [ ... ], "pagination": { "total": 542 } } ``` -------------------------------- ### Define DataSet Parameters with SearchJobId Source: https://developer.hyperproof.app/hypersync-sdk/override-getproofdata.md Example of defining dataSetParams to include the searchJobId. ```json "dataSetParams": { "searchJobId": "{{criteria.searchJobId}}"} ``` -------------------------------- ### Get a Program Source: https://developer.hyperproof.app/hyperproof-api/programs/programs.openapi Fetches detailed information about a specific Program using its unique ID. ```APIDOC ## GET /{programId} ### Description Fetches detailed information about a specific Program using its unique ID. ### Method GET ### Endpoint /{programId} ### Parameters #### Path Parameters - **programId** (string) - Required - The unique identifier of the program to retrieve. ### Response #### Success Response (200) - **programId** (string) - The unique identifier for the program. - **name** (string) - The name of the program. - **description** (string) - A description of the program. - **status** (string) - The current status of the program. - **frameworks** (array) - A list of frameworks associated with the program. - **controls** (array) - A list of controls associated with the program. #### Response Example { "programId": "prog_123", "name": "Q4 Compliance Audit", "description": "Audit for Q4 compliance requirements.", "status": "Active", "frameworks": ["fw_abc"], "controls": ["ctrl_xyz"] } ``` -------------------------------- ### Hypersync App Import Confirmation Source: https://developer.hyperproof.app/hypersync-sdk/doc/002-dev-workflow.md Example console output indicating a successful custom app import via the Hyperproof CLI. ```bash janedoe:mycomputer:~/code/open-library:$ hp customapps import -d . Creating a new custom app................ Custom app import complete. ``` -------------------------------- ### Upload and Link Proof to Control Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Upload a proof file and immediately link it to a specific control. Ensure the CONTROL_ID is correctly set. ```bash CONTROL_ID=12345678-90ab-cdef-1234-567890abcdef curl --request POST \ --url "https://api.hyperproof.app/v1/controls/$CONTROL_ID/proof" \ --header "Authorization: Bearer $ACCESS_TOKEN" \ --form proof=@"./evidence/PrivacyPolicy.pdf" ``` -------------------------------- ### Define Get Report Status URL Parameter Source: https://developer.hyperproof.app/hypersync-sdk/override-getproofdata.md Example of defining the getReportStatus URL parameter with a searchJobId. ```json "url": "/v2/getReportStatus/{{searchJobId}}", ``` -------------------------------- ### Upload Proof with Service Account Credentials Source: https://developer.hyperproof.app/hyperproof-api/api-010-service-account-credentials.md This example demonstrates how to upload a proof using service account credentials. It requires obtaining an access token and then making a POST request to the /v1/proof endpoint, including the `hp-proof-owned-by` field with a valid user UUID. ```bash curl --silent \ --header "Authorization: Bearer $ACCESS_TOKEN" \ "https://api.hyperproof.app/v1/users" ``` -------------------------------- ### Get Custom Apps Source: https://developer.hyperproof.app/hyperproof-api/customapps/customapps.openapi Retrieves details of custom apps installed in an organization, including their configurations, statuses, and integration metadata. ```APIDOC ## GET / ### Description Retrieves details of custom apps installed in an organization, including their configurations, statuses, and integration metadata. ### Method GET ### Endpoint / ### Parameters #### Query Parameters - **appId** (string) - Required - The unique identifier for the custom app. ### Response #### Success Response (200) - **apps** (array) - A list of custom app objects. - **appId** (string) - The unique identifier for the custom app. - **name** (string) - The name of the custom app. - **configuration** (object) - The configuration details of the custom app. - **status** (string) - The current status of the custom app (e.g., 'active', 'inactive'). - **integrationMetadata** (object) - Metadata related to the app's integration. ``` -------------------------------- ### Get Custom App Source: https://developer.hyperproof.app/hyperproof-api/customapps/customapps.openapi Retrieves details of a specific custom app installed in an organization, including its configuration, status, and integration metadata. ```APIDOC ## GET /{appId} ### Description Retrieves details of a specific custom app installed in an organization, including its configuration, status, and integration metadata. ### Method GET ### Endpoint /{appId} ### Parameters #### Path Parameters - **appId** (string) - Required - The unique identifier for the custom app. ### Response #### Success Response (200) - **appId** (string) - The unique identifier for the custom app. - **name** (string) - The name of the custom app. - **configuration** (object) - The configuration details of the custom app. - **status** (string) - The current status of the custom app. - **integrationMetadata** (object) - Metadata related to the app's integration. ``` -------------------------------- ### Example Request Headers with Access Token Source: https://developer.hyperproof.app/hyperproof-api/api-002.1-oauth-auth-code-flow This shows the structure of the request headers, including the Authorization header with a sample token. ```json { "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2ZXIiOiIxLjAiLCJpc3..." } ``` -------------------------------- ### Exporting Custom Proof Providers Source: https://developer.hyperproof.app/hypersync-sdk/doc/006-proof-types.md Example of an index file exporting custom proof provider classes. Ensure all custom proof providers are exported from this file to be recognized by the SDK. ```typescript export * from './ListOfUsers'; export * from './ListOfGroups'; export * from './GroupMembership'; ``` -------------------------------- ### Get Role Assignments Filtered Source: https://developer.hyperproof.app/hyperproof-api/roleassignments/roleassignments.openapi Gets the set of role assignments matching the supplied filter. ```APIDOC ## POST /filter ### Description Gets the set of role assignments matching the supplied filter. ### Method POST ### Endpoint /filter ### Parameters #### Request Body - **userId** (string) - Optional - Filter by user ID. - **roleId** (string) - Optional - Filter by role ID. - **objectId** (string) - Optional - Filter by object ID. ### Response #### Success Response (200 OK) - **assignments** (array) - A list of role assignments matching the filter. - **assignmentId** (string) - The ID of the role assignment. - **userId** (string) - The ID of the user. - **roleId** (string) - The ID of the role. - **objectId** (string) - The ID of the object. #### Response Example ```json { "assignments": [ { "assignmentId": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "userId": "user123", "roleId": "role456", "objectId": "object789" } ] } ``` ``` -------------------------------- ### List Proofs with Filtering and Sorting Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Fetches a list of proofs with specified limits, sorting, and ownership filters. Use this to retrieve a customized view of your proofs. ```bash curl --silent \ --header "Authorization: Bearer $ACCESS_TOKEN" \ "https://api.hyperproof.app/v1/proof?limit=100&sortBy=filename&sortDirection=asc&ownedByMe=true" ``` -------------------------------- ### Download Latest Proof File Contents Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Use this command to download the latest version of a proof file. Ensure your access token and proof ID are set as environment variables. ```bash curl -O --remote-header-name \ -H "Authorization: Bearer $ACCESS_TOKEN" \ "https://api.hyperproof.app/v1/proof/$PROOF_ID/contents" ``` -------------------------------- ### Get Custom Apps Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves a list of all custom applications. This endpoint is useful for getting an overview of available custom apps. ```APIDOC ## GET /customapps ### Description Retrieves a list of all custom applications. ### Method GET ### Endpoint /customapps ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example { "example": "response body" } ``` -------------------------------- ### Import Hypersync App using CLI Source: https://developer.hyperproof.app/hypersync-sdk/doc/002-dev-workflow.md Import your custom Hypersync app into Hyperproof using the CLI. The '-d .' flag indicates the current directory. ```bash hp customapps import -d . ``` -------------------------------- ### Example criteriaFields.json Configuration Source: https://developer.hyperproof.app/hypersync-sdk/doc/053-criteria-fields-json.md This snippet shows a sample criteriaFields.json file, including a 'proofCategory' field for filtering and other common field types like 'select' and 'text'. ```json { "$schema": "https://cdn.jsdelivr.net/gh/Hyperproof/hypersync-sdk/schema/criteriaFields.schema.json", "proofCategory": { "type": "select", "property": "proofCategory", "label": "{{messages.LABEL_PROOF_CATEGORY}}", "isRequired": true, "fixedValues": [ { "value": "users", "label": "{{messages.LABEL_USERS}}" }, { "value": "devices", "label": "{{messages.LABEL_DEVICES}}" } ] }, "groupId": { "type": "select", "property": "group", "label": "{{messages.LABEL_GROUP_NAME}}", "isRequired": true, "dataSet": "groups", "valueProperty": "id", "labelProperty": "groupName", "fixedValues": [ { "value": "{{constants.ID_ALL}}", "label": "{{messages.LABEL_ALL_GROUPS}}" } ] }, "userStatus": { "type": "select", "property": "userStatus", "label": "{{messages.LABEL_USER_STATUS}}", "isRequired": true, "fixedValues": [ { "value": "active", "label": "{{messages.LABEL_USER_STATUS_ACTIVE}}" }, { "value": "inactive", "label": "{{messages.LABEL_USER_STATUS_INACTIVE}}" } ] }, "search": { "type": "text", "property": "search", "label": "{{messages.LABEL_SEARCH}}", "placeholder": "{{messages.PLACEHOLDER_SEARCH}}", "isRequired": true } } ``` -------------------------------- ### Download Specific Version of Proof File Contents Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Use this command to download a specific version of a proof file by appending the version number to the query parameters. Ensure your access token and proof ID are set as environment variables. ```bash curl -O --remote-header-name \ -H "Authorization: Bearer $ACCESS_TOKEN" \ "https://api.hyperproof.app/v1/proof/$PROOF_ID/contents?version=3" ``` -------------------------------- ### Get Issue Proof Metadata Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieve metadata associated with the proof of an issue. This endpoint is used to get information about the evidence or verification related to an issue. ```http GET {{base_url}}/issues/:issueId/proof ``` -------------------------------- ### Get Risks Filtered Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves risks using a PUT request with filtering options. This endpoint allows for more complex filtering criteria than the GET /risks/ endpoint. ```APIDOC ## PUT /risks/filter ### Description Retrieves risks using a PUT request with filtering options. This endpoint allows for more complex filtering criteria than the GET /risks/ endpoint. ### Method PUT ### Endpoint /risks/filter ### Parameters #### Query Parameters - **expand** (string) - Optional - Comma separated list of fields to expand. Supported values: linkedControls. ``` -------------------------------- ### List Custom Apps CLI Source: https://developer.hyperproof.app/hypersync-sdk/doc/008-debugging.md Use this Hyperproof CLI command to list all your custom applications and retrieve their IDs, which are necessary for viewing live logs. ```bash hp customapps list ``` -------------------------------- ### Upload Proof File (Organization Scope) Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Use this cURL command to upload a proof file to the organization's scope. Ensure you replace `$ACCESS_TOKEN` with your valid Bearer token. ```bash curl --request POST \ --url https://api.hyperproof.app/v1/proof \ --header "Authorization: Bearer $ACCESS_TOKEN" \ --form proof=@"./policies/AcceptableUse.pdf" ``` -------------------------------- ### Get Questionnaires Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves a list of questionnaires. Supports filtering by status. ```APIDOC ## GET /questionnaires/ ### Description Retrieves a list of questionnaires. Supports filtering by status. ### Method GET ### Endpoint /questionnaires/ ### Parameters #### Query Parameters - **status** (string) - Optional - Filters results by the provided object status ``` -------------------------------- ### Filter Scopes Source: https://developer.hyperproof.app/hyperproof-api/scopes/scopes.openapi Gets the set of scopes matching the supplied filter. ```APIDOC ## POST /filter ### Description Gets the set of scopes matching the supplied filter. ### Method POST ### Endpoint /v1/scopes/filter ``` -------------------------------- ### Uploading and immediately linking proof to an object Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Uploads a proof file and directly links it to an object such as a control, label, or task. ```APIDOC ## POST https://api.hyperproof.app/v1/{objectType}s/{objectId}/proof ### Description Uploads a proof file and directly links it to an object such as a control, label, or task. ### Method POST ### Endpoint https://api.hyperproof.app/v1/{objectType}s/{objectId}/proof ### Parameters #### Path Parameters - **objectType** (string) - Required - Can be `control`, `label`, or `task`. - **objectId** (string) - Required - The ID of the object to link the proof to. #### Request Body - **proof** (file, required) - The proof file to upload. ### Request Example ```bash CONTROL_ID=12345678-90ab-cdef-1234-567890abcdef curl --request POST \ --url "https://api.hyperproof.app/v1/controls/$CONTROL_ID/proof" \ --header "Authorization: Bearer $ACCESS_TOKEN" \ --form proof=@"./evidence/PrivacyPolicy.pdf" ``` ``` -------------------------------- ### Step 1: Request User Authentication Source: https://developer.hyperproof.app/hyperproof-api/api-002.1-oauth-auth-code-flow.md Direct the user to the authorization endpoint with the necessary query parameters to initiate the OAuth 2.0 flow. ```APIDOC ## Request User Authentication Direct the user to `https://accounts.hyperproof.app/oauth/authorize`. ### Query Parameters - **response_type** (string) - Required - The value must be `'code'`. - **redirect_uri** (string) - Required - The URI to handle successful user authorization. Must match a pre-registered URI. - **client_id** (string) - Required - The unique ID for your OAuth 2.0 client application. - **scope** (string) - Required - One or more OAuth scope values, separated by spaces, indicating the required level of access. - **state** (string) - Optional - A state to include in the request. ### Scopes - `control.read`: Read control information. - `control.update`: Write control information and add proof to controls. - `label.read`: Read label information. - `label.update`: Write label information and add proof to labels. - `user.read`: Read user information. ### Example Request ``` https://accounts.hyperproof.app/oauth/authorize?response_type=code&redirect_uri=https%3A%2F%2Fcontoso.com/callback&client_id=7fe5bcb7-9e1a-4163-a197-f2dd6107e491&scope=label.read%20label.update ``` ### Example Redirect with Authorization Code ``` https://contoso.com/callback?code=6eec5249-93e6-41e2-ba5c-5499e706c9f1 ``` ### Example Redirect with Authorization Code and State ``` https://contoso.com/callback?code=6eec5249-93e6-41e2-ba5c-5499e706c9f1&state=my%20state ``` ``` -------------------------------- ### Get Group Members (All Groups) Source: https://developer.hyperproof.app/hyperproof-api/groups/groups.openapi Retrieves the members of groups in the organization. ```APIDOC ## GET /users ### Description Retrieves the members of groups in the organization. ### Method GET ### Endpoint /users ### Parameters #### Query Parameters - **groupId** (string) - Optional - Filters members by a specific group ID. ``` -------------------------------- ### Build Hypersync with Yarn Source: https://developer.hyperproof.app/hypersync-sdk/migration-v3-to-v6.md Execute `yarn build` to compile your updated Hypersync application. ```bash yarn build ``` -------------------------------- ### Get Group Members Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves members of a group, with filtering options by status. ```APIDOC ## GET /groups/users ### Description Retrieves members of a group. ### Method GET ### Endpoint /groups/users ### Parameters #### Query Parameters - **status** (string) - Optional - Filter by member status. ``` -------------------------------- ### Upload Testable CSV Proof Source: https://developer.hyperproof.app/hyperproof-api/proof/proof.openapi Use this endpoint to upload a CSV file as a proof. Explicitly set the content type to text/csv to enable automated testing. Requires an access token and user ID. ```bash curl --request POST \ --url https://api.hyperproof.app/v1/proof \ --header "Authorization: Bearer $ACCESS_TOKEN" \ --form proof=@"./policies/AcceptableUse.csv:type=text/csv" \ --form hp-proof-owned-by="$USER_ID" --form contentType="text/csv" ``` -------------------------------- ### Get Group Members (Specific Group) Source: https://developer.hyperproof.app/hyperproof-api/groups/groups.openapi Retrieves the members of a specific group. ```APIDOC ## GET /{groupId}/users ### Description Retrieves the members of a group. ### Method GET ### Endpoint /{groupId}/users ### Parameters #### Path Parameters - **groupId** (string) - Required - The unique identifier of the group. ``` -------------------------------- ### Using Logger.info with await Source: https://developer.hyperproof.app/hypersync-sdk/doc/008-debugging.md Demonstrates how to use the Logger.info method with the await keyword, as it is an asynchronous operation. This is a common pattern for logging within your app. ```javascript await Logger.info('Creating my data source.'); ``` -------------------------------- ### Define Empty Criteria Source: https://developer.hyperproof.app/hypersync-sdk/override-getproofdata.md Example of defining an empty criteria array for a proof. ```json "criteria": [], ``` -------------------------------- ### Sign in to Hyperproof CLI Source: https://developer.hyperproof.app/hypersync-sdk/doc/002-dev-workflow.md Authorize the Hyperproof CLI to access your Hyperproof organization. Use specific commands for EU or GOV environments if applicable. ```bash hp signin ``` ```bash hp signin --domain hyperproof.eu ``` ```bash hp signin --domain hyperproofgov.app ``` -------------------------------- ### Get Vendors Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves a list of vendors. This endpoint allows filtering by vendor status. ```APIDOC ## GET /vendors/ ### Description Retrieves a list of vendors. ### Method GET ### Endpoint /vendors/ ### Parameters #### Query Parameters - **status** (string) - Optional - Filters vendors by the provided object status. ``` -------------------------------- ### Example Empty Response Body Source: https://developer.hyperproof.app/hyperproof-api/api-006-empty-results.md A successful 200 OK response with an empty array indicates no objects were returned, often due to insufficient permissions. ```json { "get_hyperproof_objects": { "body": [], "status": 200 } } ``` -------------------------------- ### Get Task Proof Metadata Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves metadata related to the proof of a specific task. ```APIDOC ## GET /tasks/:taskId/proof ### Description Retrieves metadata related to the proof of a specific task. ### Method GET ### Endpoint /tasks/:taskId/proof ### Parameters #### Path Parameters - **taskId** (string) - Required - The unique identifier of the task. ``` -------------------------------- ### Get Labels Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves a list of labels. Supports filtering by link permission and status. ```APIDOC ## GET /labels ### Description Retrieves a list of labels. This endpoint can be filtered to return only labels that the requesting user has permission to link, or to filter by a specific object status. ### Method GET ### Endpoint /labels ### Parameters #### Query Parameters - **canLink** (boolean) - Optional - If true, only returns labels to which the requesting user has link permission - **status** (string) - Optional - Filters results by the provided object status ``` -------------------------------- ### Configure Hypersync for Access Reviews Source: https://developer.hyperproof.app/hypersync-sdk/uar-hypersyncs.md Add the 'schemaCategories' field to your 'package.json' to make your Hypersync available for Access Reviews. This field accepts 'uarApplication' and 'uarDirectory' values. ```json { "name": "custom-hypersync-app", "version": "1.0.0", "app_hyperproof": { "name": "My Custom Hypersync App", "appType": "hypersync", "authType": "custom", "category": "Identity Services", "descriptionCapabilities": "This integration extracts user and group information from The Target Service.", "debug": true, "staticIp": false, "schemaCategories": [ "uarApplication", "uarDirectory" ] }, ... } ``` -------------------------------- ### Get Issue Proof Metadata Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves the proof metadata associated with a specific issue. ```APIDOC ## GET /issues/:issueId/proof ### Description Retrieves the proof metadata associated with a specific issue. ### Method GET ### Endpoint /issues/:issueId/proof ### Parameters #### Path Parameters - **issueId** (string) - Required - The unique identifier of the issue for which to retrieve proof metadata. ``` -------------------------------- ### List Proofs Linked to a Specific Control Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Fetches proof metadata associated with a particular control object. This allows you to find proofs relevant to specific controls within your organization. ```bash curl --silent \ --header "Authorization: Bearer $ACCESS_TOKEN" \ "https://api.hyperproof.app/v1/proof?objectType=control&objectId=$CONTROL_ID&limit=100" ``` -------------------------------- ### Retrieve Controls Source: https://developer.hyperproof.app/hyperproof-api/api-006-empty-results.md Use this command to fetch a list of controls from the Hyperproof API. Ensure your access token is valid and has the necessary read scope. ```bash # Controls curl -sS -H "Authorization: Bearer $ACCESS_TOKEN" \ "https://api.hyperproof.app/v1/controls" ``` -------------------------------- ### Custom Proof Provider Implementation Source: https://developer.hyperproof.app/hypersync-sdk/doc/006-proof-types.md Example of a custom proof provider class extending `ProofProviderBase`. Implement methods like `generateCriteriaMetadata`, `generateSchema`, and `getProofData` to define custom proof type logic. ```typescript export class MyProofProvider extends ProofProviderBase { async generateCriteriaMetadata( criteriaValues: HypersyncCriteria, pages: ICriteriaPage[] ): Promise { // TODO: Generate the metadata for the criteria that are shown // to the user when configuring this proof type. Will generally // defer to a class that implements ICriteriaProvider. } async generateSchema( criteriaValues: HypersyncCriteria ): Promise { // TODO: Generate the schema for the proof type. This schema information // is used by Hyperproof's automated testing feature. } async getProofData( hypersync: IHypersync, hyperproofUser: IHyperproofUser, authorizedUser: string, syncStartDate: Date, page?: string, metadata?: SyncMetadata ): Promise { // TODO: Fetch the data from the service and format it. } } ``` -------------------------------- ### Get Control Source: https://developer.hyperproof.app/hyperproof-api/controls/controls.openapi Fetches detailed information about a specific control using its unique ID. ```APIDOC ## GET /{controlId} ### Description Fetches detailed information about a specific control using its unique ID. ### Method GET ### Endpoint /v1/controls/{controlId} ### Parameters #### Path Parameters - **controlId** (string) - Required - The unique ID of the control. ### Request Example ```bash GET https://api.hyperproof.app/v1/controls/{controlId}?expandscopes=true ``` ``` -------------------------------- ### Upload New Version of Existing Proof Source: https://developer.hyperproof.app/hyperproof-api/api-003-uploading-and-retrieving-proof.md Use this endpoint to create a new version for an existing proof item. The version number automatically increments. ```bash curl --request POST \ --url "https://api.hyperproof.app/v1/proof/$PROOF_ID/versions" \ --header "Authorization: Bearer $ACCESS_TOKEN" \ --form proof=@"./policies/AcceptableUse_v7.pdf" ``` -------------------------------- ### Define Report URL Parameter Source: https://developer.hyperproof.app/hypersync-sdk/override-getproofdata.md Example of defining the report URL parameter with a searchJobId. ```json "url": "/v2/getReport/{{searchJobId}}", ``` -------------------------------- ### Upload Proof Linked to a Control with Service Account Source: https://developer.hyperproof.app/hyperproof-api/api-010-service-account-credentials.md This snippet shows how to upload proof and link it to a specific control using service account credentials. Ensure you provide a valid user UUID for the `hp-proof-owned-by` field. ```bash curl --request POST \ --url "https://api.hyperproof.app/v1/controls/$CONTROL_ID/proof" \ --header "Authorization: Bearer $ACCESS_TOKEN" \ --form proof=@"./evidence/PrivacyPolicy.pdf" \ --form hp-proof-owned-by="$USER_UUID" ``` -------------------------------- ### Get Proof Metadata Collection Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves a collection of proof metadata. This operation is identified by 'get-proof-metadata-collection'. ```APIDOC ## GET /proof/ ### Description Retrieves a collection of proof metadata. ### Method GET ### Endpoint /proof/ ### Parameters #### Query Parameters - **objectType** (string) - Optional - Linked object type. - **objectId** (string) - Optional - Unique identifier of the linked object. ``` -------------------------------- ### Get Policy Versions Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves a list of policy versions, optionally filtered by policy ID. ```APIDOC ## GET /policyversions/ ### Description Retrieves a list of all policy versions. This endpoint can be filtered by a specific policy ID. ### Method GET ### Endpoint /policyversions/ ### Parameters #### Query Parameters - **policyId** (string) - Optional - Filters the results to return policy versions associated with the specified policy ID. ``` -------------------------------- ### Update Hypersync App Configuration Source: https://developer.hyperproof.app/hypersync-sdk/doc/002-dev-workflow.md Modify the 'json/proof/booksByAuthor.json' file to update app configurations, then rebuild and re-import the app. ```json ... { "property": "updated", "label": "{{messages.LABEL_UPDATED}}", "width": "100px", "type": "text" }, { "property": "key", "label": "{{messages.LABEL_KEY}}", "width": "200px", "type": "text" } ... ``` -------------------------------- ### Get Policies Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves a list of policies, with an option to filter by status. Operation ID: get-policies. ```APIDOC ## GET /policies/ ### Description Retrieves a list of policies. Allows filtering by status. ### Method GET ### Endpoint /policies/ ### Parameters #### Query Parameters - **status** (string) - Optional - Filters policies by the provided object status. ### Response Success Response (200) No specific response fields are detailed in the source. ``` -------------------------------- ### Sign in to Hyperproof Organization Source: https://developer.hyperproof.app/hypersync-sdk/migration-v3-to-v6.md Use the `hp signin` command to authenticate with your Hyperproof organization before deploying. ```bash hp signin ``` -------------------------------- ### Add a New Task Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Adds a new task with details including title, target object, description, assignee, priority, due date, and integration status. ```json { "title": "Submit the latest employee agreements", "targetObject": { "objectId": "23b802db-bad2-4f7a-b8d1-ac1177909992", "objectType": "control" }, "description": "The latest employee agreements are needed for the upcoming audit.", "assigneeId": "ad21d858-c271-4c6d-8780-fecf6b16e534", "priority": "medium", "dueDate": "2020-12-17T20:00:00Z", "hasIntegration": false } ``` -------------------------------- ### Get Label Summaries Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves summaries for labels, with options to filter by link permission and status. ```APIDOC ## GET /labels/summaries ### Description Retrieves summaries for labels. This endpoint can be filtered to return only labels that the requesting user has permission to link, or to filter by a specific object status. ### Method GET ### Endpoint /labels/summaries ### Parameters #### Query Parameters - **canLink** (boolean) - Optional - If true, only returns labels the requesting user has link permission for - **status** (string) - Optional - Filters results by the provided object status ``` -------------------------------- ### Next Token Paging Configuration (Token String) Source: https://developer.hyperproof.app/hypersync-sdk/mastering-pagination.md Configure the Hypersync SDK to handle next token pagination where the token is a string returned in the response body. This setup specifies the request parameters and how to extract the token from the response. ```json { "dataSets": { "events": { "url": "/api/v1/events", "method": "GET", "property": "events", "pagingScheme": { "type": "nextToken", "request": { "tokenParameter": "token", "limitParameter": "size", "limitValue": 50 }, "response": { "nextToken": "next.token" }, "pageUntil": "noNextToken", "tokenType": "token" } } } } ``` -------------------------------- ### Get Issue Comments Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves all comments associated with a specific issue. This operation is identified by 'get-issue-comments'. ```APIDOC ## GET /issues/:issueId/comments ### Description Retrieves all comments associated with a specific issue. ### Method GET ### Endpoint {{base_url}}/issues/:issueId/comments ### Parameters #### Path Parameters - **issueId** (string) - Required - The ID of the issue for which to retrieve comments. ``` -------------------------------- ### Get Group Members Source: https://developer.hyperproof.app/hyperproof-postman-collection.json Retrieves all members of a specified group. This operation is identified by the ID 'get-all-group-members'. ```APIDOC ## GET /groups/:groupId/users ### Description Retrieves all members of a specified group. ### Method GET ### Endpoint /groups/:groupId/users ### Parameters #### Path Parameters - **groupId** (string) - Required - The ID of the group. ``` -------------------------------- ### Add Task Source: https://developer.hyperproof.app/hyperproof-api/tasks/tasks.openapi Creates a new task within an organization, initializing its details such as title, description, due dates, and assigned users. ```APIDOC ## POST / ### Description Creates a new task within an organization, initializing its details such as title, description, due dates, and assigned users. ### Method POST ### Endpoint /v1/tasks ### Parameters #### Request Body - **title** (string) - Required - The title of the task. - **description** (string) - Optional - A detailed description of the task. - **dueDate** (string) - Optional - The due date for the task in YYYY-MM-DD format. - **assignees** (array) - Optional - A list of user IDs assigned to the task. ### Request Example { "title": "Complete Q3 Report", "description": "Finalize and submit the Q3 financial report.", "dueDate": "2023-09-30", "assignees": ["user123", "user456"] } ### Response #### Success Response (201 Created) - **taskId** (string) - The unique identifier for the newly created task. - **title** (string) - The title of the task. - **status** (string) - The current status of the task (e.g., "Open", "In Progress", "Completed"). #### Response Example { "taskId": "task789", "title": "Complete Q3 Report", "status": "Open" } ```