### Get User Activity (curl) Source: https://docs.signnow.com/docs/signnow/organization/s Retrieves user activity statistics for an organization within a specified date range. Requires organization ID, access token, and UNIX timestamps for start and end dates (max 31 days). ```curl curl --request GET \ --url https://api.signnow.com/v2/organizations/{{organization_id}}/users-activity?date_from=1717416348&date_to=1718031948 \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` -------------------------------- ### Get Organization Settings Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-settings Retrieves the settings for a specific organization. Requires the organization ID. ```APIDOC ## GET /v2/organizations/{org_id}/settings ### Description Retrieves the settings configured for a specific organization. ### Method GET ### Endpoint /v2/organizations/{org_id}/settings #### Path Parameters - **org_id** (string) - Required - The unique identifier of the organization. #### Query Parameters None ### Request Body None ### Request Example ```curl curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/settings \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` ### Response #### Success Response (200) - **data** (array[object]) - A list of organization settings. - **setting** (string) - The name of the setting. - **default_value** (string) - The default value for the setting. - **value** (string or null) - The current configured value for the setting, if overridden. - **created** (number or null) - Timestamp when the setting was created or last updated. - **updated** (number or null) - Timestamp when the setting was last updated. - **meta** (object) - Metadata about the response, including pagination details. - **pagination** (object) - Pagination information. - **total** (number) - Total number of items across all pages. - **count** (number) - Number of items on the current page. - **per_page** (number) - Number of items per page. - **current_page** (number) - The current page number. - **total_pages** (number) - The total number of pages. - **links** (object) - Links for navigating through pages. - **next** (string) - URL for the next page of results. #### Response Example ```json { "data": [ { "setting": "no_document_attachment", "default_value": "0", "value": null, "created": null, "updated": null } ], "meta": { "pagination": { "total": 42, "count": 15, "per_page": 15, "current_page": 1, "total_pages": 3, "links": { "next": "https://api.signnow.com/v2/organizations/5d07bfbb31bb486bb636fb992cd6d05c88888888/settings?page=2" } } } } ``` ``` -------------------------------- ### Get Organization Settings (Shell/cURL) Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-settings This snippet demonstrates how to retrieve organization settings using a cURL command. It requires an organization ID and an authorization token. The request fetches a list of settings, their default values, current values, and timestamps for creation and updates. ```curl curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/settings \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` -------------------------------- ### Get Organization Members List (Shell/cURL) Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-members This snippet demonstrates how to retrieve a list of members for a specific organization using a cURL command. It requires the organization ID and an authorization token. The response includes member details such as ID, email, status, and last login information. ```curl curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/members \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` -------------------------------- ### Get Organization Settings Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-settings Retrieves the settings for a specified organization. This endpoint is available to admins and moderators with specific subscription levels. ```APIDOC ## GET /v2/organizations/{org_id}/settings ### Description This endpoint allows admins to retrieve settings for the specified organization. It returns the list of organization settings for admins and moderators with free trial, professional, or enterprise subscriptions. ### Method GET ### Endpoint https://api.signnow.com/v2/organizations/{org_id}/settings ### Parameters #### Path Parameters - **org_id** (string) - Required - ID of the requested organization. #### Headers - **Authorization** (string) - Required - Bearer followed by access_token. Default: Bearer {{access_token}} ### Responses #### Success Response (200) - **settings** (object) - A collection of organization settings. #### Response Example ```json { "setting1": "value1", "setting2": "value2" } ``` ``` -------------------------------- ### Get the list of admins Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-admins Retrieves a list of moderators and admins for a specific organization. Supports filtering by type and email, and requires appropriate authorization. ```APIDOC ## GET /v2/organizations/{org_id}/admins ### Description Retrieves a list of moderators and admins of an organization. ### Method GET ### Endpoint `https://api.signnow.com/v2/organizations/{org_id}/admins` ### Parameters #### Path Parameters - **org_id** (string) - Required - ID of the requested organization #### Query Parameters - **filter:type** (string) - Optional - Filter by organization type. Possible values: active, pending, declined. Format: `?filters=[{"status":{"type": "=", "value":"active/pending/declined"}}]` - **filters:email** (string) - Optional - Filter by email. Format: `?filters=[{"email":{"type": "=", "value": user_email}}]` (email should be encoded as url) #### Headers - **Authorization** (string) - Required - Bearer token for authentication ### Request Example ```json { "example": "curl --request GET \n --url https://api.signnow.com/v2/organizations/{org_id}/admins \n --header 'Accept: application/json' \n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'" } ``` ### Response #### Success Response (200) - **data** (array[object]) - Required - List of admin/moderator objects. - **id** (string) - Required - Unique identifier for the admin/moderator. - **email** (string) - Required - Email address of the admin/moderator. - **type** (string) - Required - Role of the user (e.g., 'admin', 'moderator'). - **status** (string) - Required - Status of the admin/moderator (e.g., 'active', 'pending'). - **meta** (object) - Required - Metadata about the response. - **pagination** (object) - Required - Pagination details. #### Response Example ```json { "data": [ { "id": "37XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "email": "user@emaildomain.com", "type": "admin", "status": "active" }, { "id": "7dXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "email": "org_owner@emaildomain.com", "type": "moderator", "status": "pending" } ], "meta": { "pagination": { "total": 2, "count": 2, "per_page": 15, "current_page": 1, "total_pages": 1, "links": [] } } } ``` #### Error Handling - **12003002**: Access denied for current subscription (User does not have an active trial, professional, or enterprise subscription). - **12003003**: Access denied for current administration role in your organization (User is not a moderator or admin of the organization). - **12003001**: Organization `[org_id]` is not found (Organization is not active or does not exist). - **12006006**: Unsupported filter `[filter_name]` was given. - **12004018**: The `email` filter value should be of type string. - **12004017**: The `email` filter expression should be equal to `=`. - **12004019**: Invalid filter format, filter must have `type` and `value` fields. ``` -------------------------------- ### GET /v2/organizations/{{organization_id}}/users-activity Source: https://docs.signnow.com/docs/signnow/organization/s Retrieve statistics for users within an organization over a specified period (max 31 days). ```APIDOC ## GET /v2/organizations/{{organization_id}}/users-activity ### Description Retrieves statistics for users within an organization, including document creation, sending, signing counts, and signing time averages. Requires `date_from` and `date_to` query parameters as UNIX timestamps, with a maximum range of 31 days. ### Method GET ### Endpoint `/v2/organizations/{{organization_id}}/users-activity` ### Parameters #### Path Parameters - **organization_id** (string) - Required - The ID of the organization. #### Query Parameters - **date_from** (integer) - Required - The start date for the activity period as a UNIX timestamp. - **date_to** (integer) - Required - The end date for the activity period as a UNIX timestamp. ### Request Example ``` --url "https://api.signnow.com/v2/organizations/{{organization_id}}/users-activity?date_from=1717416348&date_to=1718031948" ``` ### Response #### Success Response (200) - **users_activity** (array) - An array of user activity objects. - **user_id** (string) - The ID of the user. - **email** (string) - The profile email address of the user. - **documents_created** (integer) - The number of documents created by the user. - **documents_sent** (integer) - The number of documents sent by the user. - **documents_signed** (integer) - The number of documents signed by the user. - **avg_signing_time** (float) - The average time between invite receipt and signing. - **distinct_signers** (integer) - The number of distinct signers for invites sent by the user. #### Response Example ```json { "users_activity": [ { "user_id": "user123", "email": "jdoe@email.com", "documents_created": 10, "documents_sent": 5, "documents_signed": 5, "avg_signing_time": 12.5, "distinct_signers": 3 } ] } ``` ### See Also - Get organization activity - Get members' last logins ``` -------------------------------- ### Get Organization Admins - cURL Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-admins This snippet demonstrates how to fetch the list of administrators and moderators for a given organization using cURL. It requires the organization ID and an authorization token. The response includes user details like ID, email, type, and status. ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/admins \ --header 'Accept: application/json' \ --header 'Authorization: ' ``` -------------------------------- ### Get Members' Last Logins (Shell/cURL) Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-member-last-logins This snippet demonstrates how to fetch the last login information for members within an organization using cURL. It requires the organization ID and an authorization token. The response includes user details, last login timestamp, IP address, user agent, application used, and creation timestamp. ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/members/last-logins \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` -------------------------------- ### Get Organization User Activity (cURL) Source: https://docs.signnow.com/docs/signnow/organization/operations/get-a-v-2-organization-users-activity This cURL command demonstrates how to retrieve user activity statistics for a specific organization. It requires the organization ID and an authorization token. The response provides a JSON object containing user data and pagination metadata. ```curl curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/users-activity \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` -------------------------------- ### Get Organization Activity Source: https://docs.signnow.com/docs/signnow/organization/operations/get-a-v-2-organization-activity Allows users to view fetching statistics about the organization. This endpoint is available for admins and moderators with trial, professional, and enterprise subscriptions. ```APIDOC ## GET /v2/organizations/{org_id}/activity ### Description Retrieves statistics about an organization's activity, such as document counts, sender/signer numbers, and average completion time. This endpoint is intended for admins and moderators with specific subscription levels. ### Method GET ### Endpoint /v2/organizations/{org_id}/activity ### Parameters #### Path Parameters - **org_id** (string) - Required - ID of the organization where the organization activity is retrieved. #### Query Parameters - **date_from** (string) - Optional - Filter by date. Format: `?date_from=timestamp&date_to=timestamp` #### Headers - **Authorization** (string) - Required - Bearer followed by access_token. Default: `Bearer {{access_token}}` ### Request Example ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/activity \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` ### Response #### Success Response (200) - **data** (object) - Required - Contains organization activity statistics. - **documents** (number) - Required - Total number of documents. - **sent_documents** (number) - Required - Number of documents sent. - **signed_documents** (number) - Required - Number of documents signed. - **signers** (number) - Required - Number of signers. - **senders** (number) - Required - Number of senders. - **average_complete_time** (string) - Required - Average time to complete a document (e.g., "0:8:22"). - **active_users** (number) - Required - Number of active users. #### Response Example ```json { "data": { "documents": 2042, "sent_documents": 451, "signed_documents": 101, "signers": 218, "senders": 26, "average_complete_time": "0:8:22", "active_users": 4652 } } ``` #### Error Responses - **12003003**: Access denied for current administration role in your organization (User is not admin/moderator). - **12003002**: Access denied for current subscription (User does not have appropriate subscription). - **12003001**: Organization `deXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX` is not found (Organization does not exist or is inactive). ``` -------------------------------- ### GET /v2/organizations/{org_unique_id}/documents/search Source: https://docs.signnow.com/docs/signnow/organization/operations/get-a-v-2-organization-document-search This endpoint allows administrators to search through documents within a SignNow organization. It supports filtering by various criteria such as document name, owner email, signer email, status, and text fields. Pagination and sorting options are also available. ```APIDOC ## GET /v2/organizations/{org_unique_id}/documents/search ### Description Allows searching through the documents of users of the organization. Available only to the Administrator of the organization. ### Method GET ### Endpoint /v2/organizations/{org_unique_id}/documents/search ### Parameters #### Path Parameters - **org_unique_id** (string) - Required - ID of organization #### Query Parameters - **filters:name** (string) - Optional - Searches in documents by Document name. Example: `?filters=[{"name":{"type": "=", "value":"sample name"}}]` - **filters:owner** (string) - Optional - Searches in documents by Owner email. Example: `?filters=[{"owner":{"type": "=", "value":"owner%40emaildomain.com"}}]` - **filters:signer** (string) - Optional - Searches in documents by Signer email. Example: `?filters=[{"signer":{"type": "=", "value":"signer%40emaildomain.com"}}]` - **filters:status** (string) - Optional - Searches in documents by Document status. Possible values: `waiting_for_signing`, `signed` or `pending_payment`. Example: `?filters=[{"status":{"type": "=", "value":"signed"}}]` - **filters:text** (string) - Optional - Searches in documents by Document text fields. Example: `?filters=[{"text":{"type": "=", "value":"Some sample text"}}]` - **page** (number) - Optional - Page number of searched results. Allowed values: any positive integer starting from 1. Example: `?page=3` - **per_page** (number) - Optional - Number of searched results per page. Allowed values: any positive integer starting from 1. Example: `?per_page=12` - **sort:added** (string) - Optional - Sorts all documents by date (Unix timestamp) they were added. Possible values: `asc`, `desc`. Example: `?sort[added]=asc` - **sort:changed** (string) - Optional - Sorts all documents by date (Unix timestamp) they were changed. Possible values: `asc`, `desc`. Example: `?sort[changed]=asc` - **sort:name** (string) - Optional - Sorts all documents by Document name. Possible values: `asc`, `desc`. Example: `?sort[name]=asc` #### Request Body - No request body ### Request Example N/A ### Response #### Success Response (200) - Document data (varies) #### Response Example N/A ERROR HANDLING: - 403 Forbidden - 404 Not Found ``` -------------------------------- ### GET /v2/organizations/{org_id}/users-activity Source: https://docs.signnow.com/docs/signnow/organization/operations/get-a-v-2-organization-users-activity Allows users to view fetching statistics about users who exist in the organization. This endpoint returns the audit log of users activity for admins and moderators with specific subscription levels. ```APIDOC ## GET /v2/organizations/{org_id}/users-activity ### Description Fetches statistics about users within a specified organization. This endpoint is designed for administrators and moderators to monitor user activity and is available for users with Trial, Professional, and Enterprise subscriptions. ### Method GET ### Endpoint `https://api.signnow.com/v2/organizations/{org_id}/users-activity` ### Parameters #### Path Parameters - **org_id** (string) - Required - ID of the organization where the users' activity is retrieved. #### Query Parameters - **date_from** (string) - Optional - Filter by the date. Format: `?date_from=timestamp&date_to=timestamp` #### Headers - **Authorization** (string) - Required - Bearer followed by access_token. Example: `Bearer {{access_token}}` ### Request Example ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/users-activity \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` ### Response #### Success Response (200) Returns the audit log of users activity. The response includes a `data` array containing user details and activity statistics, and a `meta` object with pagination information. - **data** (array[object]) - Required - An array of user activity objects. Each object contains: - **id** (string) - Required - Unique identifier for the user. - **email** (string) - Required - Email address of the user. - **documents** (number) - Required - Total number of documents associated with the user. - **sent_documents** (number) - Required - Number of documents sent by the user. - **signed_documents** (number) - Required - Number of documents signed by the user. - **average_complete_time** (string) - Required - Average time taken to complete documents. - **signers** (number) - Required - Number of signers associated with the user's documents. - **meta** (object) - Required - Metadata for the response, including pagination. - **pagination** (object) - Required - Pagination details. #### Response Example ```json { "data": [ { "id": "86XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "email": "user1@emaildomain.com", "documents": 5, "sent_documents": 2, "signed_documents": 2, "average_complete_time": "0:0:0", "signers": 2 }, { "id": "39XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "email": "user2@emaildomain.com", "documents": 2, "sent_documents": 1, "signed_documents": 1, "average_complete_time": "1:16:14", "signers": 1 } ], "meta": { "pagination": { "total": 2, "count": 2, "per_page": 15, "current_page": 1, "total_pages": 1, "links": [] } } } ``` #### Error Response - **403** - Access denied. Possible reasons include insufficient role permissions, lack of appropriate subscription, or an invalid/non-existent organization. - Error Code `12003003`: "Access denied for current administration role in your organization." - Error Code `12003002`: "Access denied for current asubscription." - Error Code `12003001`: "Organization `deXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX` is not found." ``` -------------------------------- ### Get Organization Activity - cURL Source: https://docs.signnow.com/docs/signnow/organization/operations/get-a-v-2-organization-activity This snippet demonstrates how to retrieve activity statistics for a specific organization using a cURL request. It requires the organization ID as a path parameter and an Authorization header with a Bearer token. The response includes metrics like document counts, sender/signer numbers, and average completion times. ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/activity \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` -------------------------------- ### Get Admin's Organizations Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organizations Retrieves a list of organizations where the user has an admin or moderator role. Supports filtering by status (active, pending) and type (member, admin, moderator), as well as pagination parameters (page, per_page). Returns a JSON object containing organization data and metadata. ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations \ --header 'Accept: application/json' ``` -------------------------------- ### GET /v2/organizations/{org_id}/members/last-logins Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-member-last-logins Retrieves the last login information for members within a specified organization. This endpoint is available to admins and moderators with specific subscription levels. ```APIDOC ## GET /v2/organizations/{org_id}/members/last-logins ### Description Retrieves the last login information for members within a specified organization. This endpoint is available to admins and moderators with specific subscription levels. ### Method GET ### Endpoint `https://api.signnow.com/v2/organizations/{org_id}/members/last-logins` ### Parameters #### Path Parameters - **org_id** (string) - Required - The unique identifier of the organization. #### Query Parameters - **filters:email** (string) - Optional - Filter by email. Format: `?filters=[{"email":{"type": "=", "value": user_email}}]` (email should be URL encoded). - **sort:email** (string) - Optional - Sort by email. Possible values: `asc`, `desc`. Format: `?sort[email]=asc`. - **sort:updated** (string) - Optional - Sort by the time of update. Possible values: `asc`, `desc`. Format: `?sort[updated]=asc`. #### Headers - **Authorization** (string) - Required - Bearer token followed by the access token. Default: `Bearer {{access_token}}`. ### Request Example ```curl curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/members/last-logins \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` ### Response #### Success Response (200) - **data** (array[object]) - Required - A list of member last login objects. - **user_id** (string) - Required - The unique identifier of the user. - **email** (string) - Required - The email address of the user. - **last_login** (number) - Required - Timestamp of the last login. - **ip** (string) - Required - The IP address from which the user last logged in. - **user_agent** (string) - Required - The user agent string of the client used for the last login. - **application** (string) - Required - The application used for the last login. - **created_at** (number) - Required - Timestamp of when the record was created. - **meta** (object) - Required - Metadata about the response. - **pagination** (object) - Required - Pagination details. #### Response Example ```json { "data": [ { "user_id": "e4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "email": "user1@emaildomain.com", "last_login": 1678032034, "ip": "2XX.XX.XX.X", "user_agent": "user agent sample", "application": "Sample Application", "created_at": 1678032034 } ], "meta": { "pagination": { "total": 1, "count": 1, "per_page": 15, "current_page": 1, "total_pages": 1, "links": [] } } } ``` #### Error Responses - **403** - Access denied for current administration role in your organization (Code: 12003003). - **403** - Access denied for current subscription (Code: 12003002). - **404** - Organization not found (Code: 12003001). ``` -------------------------------- ### Search Documents by Organization (Shell/cURL) Source: https://docs.signnow.com/docs/signnow/organization/operations/get-a-v-2-organization-document-search This code snippet demonstrates how to search for documents within a specific organization using the SignNow API. It requires the organization's unique ID and an access token for authorization. The request specifies the desired response format as JSON. ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_unique_id}/documents/search \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' \ --header 'Content-Type: ' ``` -------------------------------- ### Organization API Endpoints Source: https://docs.signnow.com/docs/signnow/organization/index This section details the available endpoints for managing organizations within the SignNow platform. ```APIDOC ## POST /organization ### Description Creates a new organization. ### Method POST ### Endpoint /organization ### Parameters #### Request Body - **name** (string) - Required - The name of the organization. ### Request Example ```json { "name": "New Organization Name" } ``` ### Response #### Success Response (201 Created) - **id** (string) - The unique identifier of the newly created organization. - **name** (string) - The name of the organization. #### Response Example ```json { "id": "org_12345abc", "name": "New Organization Name" } ``` --- ## GET /organizations ### Description Retrieves a list of organizations associated with the authenticated admin user. ### Method GET ### Endpoint /organizations ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of organizations to return. - **offset** (integer) - Optional - The number of organizations to skip before returning results. ### Response #### Success Response (200 OK) - **organizations** (array) - A list of organization objects. - **id** (string) - The unique identifier of the organization. - **name** (string) - The name of the organization. #### Response Example ```json { "organizations": [ { "id": "org_12345abc", "name": "Organization A" }, { "id": "org_67890def", "name": "Organization B" } ] } ``` --- ## PUT /organization/{organization_id} ### Description Renames an existing organization. ### Method PUT ### Endpoint /organization/{organization_id} ### Parameters #### Path Parameters - **organization_id** (string) - Required - The ID of the organization to rename. #### Request Body - **name** (string) - Required - The new name for the organization. ### Request Example ```json { "name": "Updated Organization Name" } ``` ### Response #### Success Response (200 OK) - **id** (string) - The ID of the updated organization. - **name** (string) - The new name of the organization. #### Response Example ```json { "id": "org_12345abc", "name": "Updated Organization Name" } ``` --- ## DELETE /organization/{organization_id} ### Description Deletes an organization. ### Method DELETE ### Endpoint /organization/{organization_id} ### Parameters #### Path Parameters - **organization_id** (string) - Required - The ID of the organization to delete. ### Response #### Success Response (204 No Content) No response body. --- ## GET /organization/{organization_id}/activity ### Description Retrieves the activity log for a specific organization. ### Method GET ### Endpoint /organization/{organization_id}/activity ### Parameters #### Path Parameters - **organization_id** (string) - Required - The ID of the organization whose activity log to retrieve. #### Query Parameters - **limit** (integer) - Optional - The maximum number of activity entries to return. - **offset** (integer) - Optional - The number of activity entries to skip before returning results. ### Response #### Success Response (200 OK) - **activity** (array) - A list of activity log entries. - **timestamp** (string) - The time the activity occurred. - **action** (string) - The action performed. - **user_id** (string) - The ID of the user who performed the action. - **details** (object) - Additional details about the activity. #### Response Example ```json { "activity": [ { "timestamp": "2023-10-27T10:00:00Z", "action": "organization_created", "user_id": "user_abc123", "details": {} } ] } ``` ``` -------------------------------- ### Organization Settings API Source: https://docs.signnow.com/docs/signnow/organization/s This section details various organization settings that can be configured via the API, including email button text color, user authentication requirements, QES enablement, CFR Title 21 Part 11 compliance, and various redirect URL settings for document invites and completion. ```APIDOC ## Organization Settings API ### Description Manage various organization-wide settings through API calls. These settings control aspects like email appearance, user authentication, signature compliance, and redirect URLs for document workflows. ### Endpoint `/organizations/{organization_id}/settings` (Example endpoint structure, actual may vary) ### Parameters #### Query Parameters - **`email_btn_text_color`** (string) - Optional - Text color of buttons in emails in HEX format. Default: `#FFFFFF` - **`requires_user_authentication`** (string) - Optional - Specifies if users need to re-authenticate for every signature/initials field. Accepts `on` or `off`. Default: `off` - **`enable_qes`** (integer) - Optional - Enables QES signatures for invites. Accepts `1` or `0`. Default: `0` - **`cfr_title_21_part_11`** (integer) - Optional - Enables **Title 21 CFR Part 11** compliance. Accepts `1` or `0`. Default: `0` - **`invite_decline_redirect_url`** (string) - Optional - The URL that opens after recipients decline the document. Accepts any valid URL. - **`allow_senders_edit_invite_decline_redirect_url`** (integer) - Optional - Allows senders to edit the decline redirect URL setting. Accepts `0` or `1`. Default: `1` - **`invite_completion_redirect_url`** (string) - Optional - The URL that opens after recipients complete the document. Accepts any valid URL. - **`allow_senders_edit_invite_completion_redirect_url`** (integer) - Optional - Allows senders to edit the completion redirect URL setting. Accepts `0` or `1`. Default: `1` - **`save_draft_redirect_url`** (string) - Optional - The URL that opens after recipients save progress and close the document. Accepts any valid URL. - **`allow_senders_edit_save_draft_redirect_url`** (integer) - Optional - Allows senders to edit the save draft redirect URL setting. Accepts `0` or `1`. Default: `1` ### Request Example ```json { "email_btn_text_color": "#000000", "requires_user_authentication": "on", "enable_qes": 1, "cfr_title_21_part_11": 1, "invite_decline_redirect_url": "https://example.com/declined", "allow_senders_edit_invite_decline_redirect_url": 0, "invite_completion_redirect_url": "https://example.com/completed", "allow_senders_edit_invite_completion_redirect_url": 0, "save_draft_redirect_url": "https://example.com/saved", "allow_senders_edit_save_draft_redirect_url": 0 } ``` ### Response #### Success Response (200) - **`message`** (string) - Confirmation message of settings update. ``` -------------------------------- ### GET /v2/organizations/{org_id}/members Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-members Retrieves a list of members within a specific organization. Supports filtering and sorting parameters. ```APIDOC ## GET /v2/organizations/{org_id}/members ### Description Retrieves a list of members belonging to a specific organization. This endpoint allows for filtering by email and sorting the results. ### Method GET ### Endpoint `/v2/organizations/{org_id}/members` ### Parameters #### Path Parameters - **org_id** (string) - Required - The unique identifier for the organization. #### Query Parameters - **filter:type** (string) - Optional - Specifies the type of filter to apply. - **filters:email** (string) - Optional - Filters members by their email address. - **sort:email** (string) - Optional - Sorts the member list by email address (e.g., 'asc' or 'desc'). #### Headers - **Authorization** (string) - Required - Bearer token for authentication (e.g., `Bearer {{access_token}}`). ### Request Example ```shell curl --request GET \ --url https://api.signnow.com/v2/organizations/{org_id}/members \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' ``` ### Response #### Success Response (200) - **data** (array[object]) - Required - A list of member objects. - **id** (string) - Required - The unique identifier for the member. - **email** (string) - Required - The email address of the member. - **status** (string) - Required - The current status of the member (e.g., 'active', 'pending'). - **last_login** (object) - Optional - Information about the member's last login. - **last_login** (integer) - Timestamp of the last login. - **ip** (string) - IP address from which the member last logged in. - **user_agent** (string) - User agent string of the client used for the last login. - **application** (string) - The application used for the last login. - **created_at** (integer) - Timestamp when the last login record was created. - **meta** (object) - Required - Metadata for the response. - **pagination** (object) - Required - Pagination details for the results. - **total** (integer) - Total number of items available. - **count** (integer) - Number of items in the current response. - **per_page** (integer) - Maximum items per page. - **current_page** (integer) - The current page number. - **total_pages** (integer) - Total number of pages. - **links** (array) - Links for pagination (e.g., next, previous). #### Response Example ```json { "data": [ { "id": "d2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "email": "signnow.user@emaildomain.com", "status": "active", "last_login": { "last_login": 1603199032, "ip": "2X.XX.XXX.X", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36", "application": "Sample Application", "created_at": 1592481155 } }, { "id": "afXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "email": "another.signnow.user@emaildomain.com", "status": "pending", "last_login": { "last_login": 1603199033, "ip": "1X.XX.XXX.X", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36", "application": "Sample Application 2", "created_at": 1592481156 } } ], "meta": { "pagination": { "total": 1, "count": 1, "per_page": 15, "current_page": 1, "total_pages": 1, "links": [] } } } ``` ``` -------------------------------- ### Accept/Decline Admin Invite Source: https://docs.signnow.com/docs/signnow/organization/operations/create-a-v-2-organization-admin-accept-decline Allows users to accept or decline an invitation to become an administrator or moderator within an organization. ```APIDOC ## POST /v2/organizations/{org_id}/admins/{user_id}/accept | decline ### Description Allows users to accept or decline the invitation to become an admin or moderator. ### Method POST ### Endpoint `https://api.signnow.com/v2/organizations/{org_id}/admins/{user_id}/accept | decline` ### Parameters #### Path Parameters - **org_id** (string) - required - ID of the organization where the role is changed. - **user_id** (string) - required - ID of the user whose role is changed. #### Headers - **Authorization** (string) - required - Bearer followed by access_token. Default: `Bearer {{access_token}}` ### Request Body This endpoint does not have a request body. ### Response #### Success Response (204) - **Success** - Returns 204: Success, no content in case of successful response. #### Error Responses - **12007012**: Access denied to accept invite. (If one user attempts to accept another user's invite) - **12007013**: Organization invite is not found. (If there is no invite to accept) - **12001001**: Organization `%s` is not found. (If there is no such organization id) - **12005001**: User `53XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX` is not found. (If there is no such user id) #### Response Example ```json {} ``` ### Request Example (cURL) ```bash curl --request POST \ --url https://api.signnow.com/v2/organizations/{org_id}/admins/{user_id}/accept%20%7C%20decline \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {{access_token}}' \ --header 'Content-Type: application/json' ``` ``` -------------------------------- ### GET /v2/organizations/{org_id}/members Source: https://docs.signnow.com/docs/signnow/organization/operations/list-v-2-organization-members Retrieves a list of all members within a specified organization. Supports filtering by type and email, and sorting by email. ```APIDOC ## GET /v2/organizations/{org_id}/members ### Description Retrieve all members of the organization. ### Method GET ### Endpoint https://api.signnow.com/v2/organizations/{org_id}/members ### Parameters #### Path Parameters - **org_id** (string) - Required - ID of the requested organization. #### Query Parameters - **filter:type** (string) - Optional - Filter by organization type. Possible values: active, pending, declined. Format: `?filters=[{"status":{"type": "=", "value":"active/pending/declined"}}]` - **filters:email** (string) - Optional - Filter by email. Format: `?filters=[{"email":{"type": "=", "value": user_email}}]` (email should be encoded as url) - **sort:email** (string) - Optional - Sort results in ascending or descending order. Possible values: asc/desc. Format: `?sort[email]=asc` #### Headers - **Authorization** (string) - Required - Bearer followed by access_token. Default: `Bearer {{access_token}}` ### Responses #### Success Response (200) Returns the list of organization members. - **members** (array) - List of organization members. #### Error Response - **code** (integer) - Error code. - **message** (string) - Error message. Possible error codes: - `12003002`: Access denied for current subscription (user does not have active trial professional or enterprise subscription). - `12003003`: Access denied for current administration role in your organization (user is not the moderator or admin). - `12003001`: Organization is not found. - `12006006`: Unsupported filter mail was given. - `12004018`: The `email` filter value should be of type string. - `12004017`: The `email` filter expression should be equal to `=`. - `12004019`: Invalid filter format, filter must have `type` and `value` fields. ### Request Example ```json { "example": "// No request body for this endpoint" } ``` ### Response Example ```json { "members": [ { "id": "user_id_1", "email": "user1@example.com", "first_name": "John", "last_name": "Doe", "role": "admin" }, { "id": "user_id_2", "email": "user2@example.com", "first_name": "Jane", "last_name": "Smith", "role": "member" } ] } ``` ``` -------------------------------- ### Organization Branding API Source: https://docs.signnow.com/docs/signnow/organization/-branding Manage and retrieve organization branding settings, including general, email, and editor branding resources. ```APIDOC ## Organization Branding API ### Description This section covers endpoints related to managing organization-level branding elements. This includes setting up general brand configurations, customizing email appearances, and defining the look and feel of the editor. ### Method GET, POST, PUT, DELETE ### Endpoint `/organization/branding` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body * **general_brand** (object) - Optional - Configuration for general branding elements. * **email_brand** (object) - Optional - Configuration for email branding. * **editor_brand** (object) - Optional - Configuration for the editor's branding. ### Request Example ```json { "general_brand": { "logo_url": "https://example.com/logo.png", "primary_color": "#007bff" }, "email_brand": { "header_text": "Welcome to SignNow!", "footer_text": "Powered by SignNow" } } ``` ### Response #### Success Response (200) - **general_brand** (object) - Details of the general branding. - **email_brand** (object) - Details of the email branding. - **editor_brand** (object) - Details of the editor branding. #### Response Example ```json { "general_brand": { "logo_url": "https://example.com/logo.png", "primary_color": "#007bff" }, "email_brand": { "header_text": "Welcome to SignNow!", "footer_text": "Powered by SignNow" }, "editor_brand": { "button_color": "#28a745" } } ``` ```