NAV Navbar
shell

Introduction

Welcome to the Webdox API! We provide a simple and robust RESTful API enabling any service to be integrated.

Through the Webdox’s API, you can easily manage: documents, processes, users and the main functionalities of the CLMS platform.

We have language bindings in Shell and you can view code examples on the right panel.

API VERSIONS

All API calls are versioned, and the current Webdox API is v2.0. We will never introduce changes that may cause errors in the current version. We will always be in constant improvement, incorporating new features.

To start using the API you need to first request an account at www.webdoxclm.com

Authorization

Oauth2 Authorization Flow

Password credentials

curl --location --request POST 'https://app.webdoxclm.com/api/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode '[email protected]' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'password=********'

The above command returns JSON structured like this:

{
    "access_token": "0662c5785ac175d804dc38b181d33824da4225730aa76664910cbe49a6ecce5f",
    "token_type": "Bearer",
    "expires_in": 7200,
    "refresh_token": "7e0250b86bee383eff63b6e433d6623faa50d4ae06a68d4d5928a1e03104b865",
    "created_at": 1614948612
}

Get an access token with Basic Auth Credentials. The default expiration time of the token is of 120 minutes (2 hours).

HTTP Request

POST https://app.webdoxclm.com/api/v2/oauth/token

Body example

{ "grant_type":"password", "username":"[email protected]", "password":"*************" }

Postman 4

HTTP Header

Authorization: Bearer <Token>

Refresh Token

curl --location --request POST 'https://app.webdoxclm.com/api/v2/oauth/token' \
--header 'Content-Type: application/json' \
--form 'token="17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191"'

The above command returns JSON structured like this:

{}

Use the refresh token to request a new access token. It will be possible to refresh a new token only if the access token has not been revoked.

HTTP Request

POST https://app.webdoxclm.com/api/v2/oauth/token

Body example

{ "grant_type":"refresh_token", "refresh_token":"17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191", }

Postman 6

HTTP Header

Authorization: Bearer <Token>

Remember to change the access token on your headers to keep using the api endpoints.

Revoke Token

curl --location --request POST 'https://app.webdoxclm.com/api/v2/oauth/revoke' \
--header 'Content-Type: application/json' \
--form 'token="17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191"'

The above command returns JSON structured like this:

{}

Completely disables the token for any controlled access.

HTTP Request

POST https://app.webdoxclm.com/api/v2/oauth/revoke

Body example

{ "token":"17de2f1460c5bbba5524831e285a26ed65e710cbde77344e7a7711a317d86191", }

Postman 5

After completing the request the token will be disabled for future refresh.

Workflow

Workflows are the main functionality of Webdox, allowing to generate steps with decisions and SLAs, collaboration between areas and electronically sign a contract.

List of workflows

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

[
    {
        "id": 27,
        "name": "WF 1",
        "status": "started",
        "current_step": [
            {
                "id_number": 2,
                "id_parallel_number": 0,
                "name": "Paso 2 nuevo",
                "step_type": null,
                "assigned_to": [
                    {
                        "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                        "name": "Jane Doe"
                    }
                ],
                "created_at": "2021-03-02T19:14:35.423-03:00",
                "limit_date": "2021-03-04T19:17:53.192-03:00"
            }
        ]
    },
    {
        "id": 5,
        "name": "Workflow 2",
        "status": "started",
        "current_step": [
            {
                "id_number": 2,
                "id_parallel_number": 0,
                "name": "paso2",
                "step_type": null,
                "assigned_to": [
                    {
                        "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                        "name": "Jane Doe"
                    }
                ],
                "created_at": "2021-01-27T15:28:50.092-03:00",
                "limit_date": "2021-01-28T15:29:04.426-03:00"
            }
        ]
    }
]

This endpoint retrieves all the processes that the user can see by filters

GET https://app.webdoxclm.com/api/v2/decision_workflows

To get the created_at and limit_date values ​​you must use the endpoint:

GET https://app.webdoxclm.com/api/v2/decision_workflows/index_with_limit

Parameters query string

GET https://app.webdoxclm.com/api/v2/decision_workflows?page=1&filters[decision_name]=test

Value Description  Type
page Page to see  Numeric
per_page Number of items per page  Numeric
search Filter to search for a term  String
filters[xx] Filters to apply  String

XX can take the following values:

Value Description  Type
decision_name Filter by Workflow Name (Must be exact)  String
decision_workflow_template_id Filtrer by Workflow Template ID  Numeric
status Filter by Workflow Status  String
correlative Filter by Correlative  Numeric
request_form_name Filter by Request Form Name  String
requester_id Filter by Requester  Numeric
assigned_id Filter by Assigned in Request  Numeric
initializer_id Filter Started by  Numeric
request_document_attribute_id Filter by Attribute ID from a Request  Numeric
request_document_attribute_value Filter by Request Attribute value  String

Create a Workflow

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows' \
--header 'Authorization: Bearer 8f52e71903869cc8cf620831859074f43c91a1d3384fd348f1e3cf4864e46f64' \
--header 'Content-Type: application/json' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7' \
--data-raw '{
    "decision_name": "Workflow creation test",
    "decision_workflow_template_id": "9e0b12b0-e0ed-4493-8182-d00c0c9a9667"
}'

The above command returns JSON structured like this:

{
    "id": 98,
    "name": "Workflow creation test",
    "template_id": "9e0b12b0-e0ed-4493-8182-d00c0c9a9667"
}

This endpoint create a workflow from template.

Supported formats

[JSON]

HTTP Request

POST https://app.webdoxclm.com/api/v2/decision_workflows

Body Parameters

Parameter Required Validation Description
decision_name Must be a String Name of new workflow
decision_workflow_template_id Must be a Integer ID of template to use in creation of new workflow

Body example

{ "decision_name": "Test 1", "decision_workflow_template_id": "08559ee4-62df-42e0-b95d-c2f75984db7f", }

Workflow Info

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/1' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

{
    "id": 78,
    "name": "Workflow name",
    "decision_name": "test workflow",
    "status": "started",
    "current_step_type": null,
    "current_step": {
        "id_number": 1,
        "id_parallel": 0,
        "name": "1",
        "id_workflow": 78,
        "assigned_to": [
            {
                "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                "name": "John Doe"
            }
        ],
        "step_type": null,
        "created_at": "2021-01-27T15:28:50.092-03:00",
        "limit_date": "2021-01-28T15:29:04.426-03:00"
    },
    "steps": [
        {
            "id_number": 1,
            "id_parallel": 0,
            "name": "1",
            "step_type": null,
            "created_at": "2021-01-27T15:28:50.092-03:00",
            "limit_date": "2021-01-28T15:29:04.426-03:00"
        },
        {
            "id_number": 2,
            "id_parallel": 0,
            "name": "2",
            "step_type": null,
            "created_at": "2021-01-27T15:28:50.092-03:00",
            "limit_date": null
        },
        {
            "id_number": 3,
            "id_parallel": 0,
            "name": "3",
            "step_type": null,
            "created_at": "2021-01-27T15:28:50.092-03:00",
            "limit_date": null
        }
    ],
    "documents": [
        {
            "id": "721111e8ba7847589648e0d2e4efe058",
            "name": "My-Documnet.pdf",
            "type": "document",
            "in_repository": true,
            "signable": true,
            "signed": false,
            "created_at": "2023-05-15T15:53:35.768-04:00"
        }
    ]
}

This endpoint returns the information of a given workflow

Supported formats

[JSON]

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/:id

List steps

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

[
    {
        "id_number": 1,
        "id_parallel": 0,
        "name": "Electronic Signature",
        "id_workflow": 94,
        "assigned_to": [
            {
                "id": "7faf7ca5-46a7-4ad2-a283-cecb5dd78566",
                "name": "John Doe"
            }
        ],
        "step_attributes": [],
        "step_type": "signature",
        "is_signature_step": true,
        "created_at": "2021-01-27T15:28:50.092-03:00",
        "limit_date": null
    },
    {
        "id_number": 2,
        "id_parallel": 0,
        "name": "Cassification",
        "id_workflow": 94,
        "assigned_to": [],
        "step_attributes": [],
        "step_type": null,
        "created_at": "2021-01-27T15:28:50.092-03:00",
        "limit_date": null
    },
    ...
]

This endpoint allows you to list the steps of a workflow

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps

URL Parameters

Parameter Description
ID Workflow id

Get step

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

{
    "id_number": 1,
    "id_parallel": 0,
    "name": "paso firma",
    "id_workflow": 94,
    "assigned_to": [
        {
            "id": "7faf7ca5-46a7-4ad2-a283-cecb5dd78566",
            "name": "Test Satrang Anveshtest"
        }
    ],
    "step_attributes": [],
    "step_type": "signature"
}

This endpoint allows to obtain the detail of a workflow step

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>?parallel_number=<P_N>

URL Parameters

Parameter Description
ID Workflow id
STEP_ID Step number
P_N The parallel number of step

Cancel a workflow

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/1/cancel' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99' \
--header 'Content-Type: application/json' \
--data-raw '{
    "cancellation_reasons": "other reason"
}'

The above command returns JSON structured like this:

{
  "success": true
}

This endpoint cancels a workflow, along with a reason for cancellation

HTTP Request

POST https://app.webdoxclm.com/api/v2/decision_workflows/:id/cancel

Body Parameters

Parameter Required Validation Description
cancellation_reasons Must be a String Cancel reason

Body example

{ "cancellation_reasons": "reason" }

Assign a User to Step

This endpoint assigns users to a given step from Workflow

Supported formats

[JSON]

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/:id/assign_step_users' \
--header 'Authorization: Bearer b74a2aeab29c311b95e99307bfa833f9b2171a098207bb648808529ef3c8756b' \
--header 'Content-Type: application/json' \
--data-raw '{
    "step_id": 1,
    "assigned_ids": ["e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                    "59db41d9-bcf4-4e7c-9330-830d1ca95c52"]
}'

HTTP Request

PUT https://app.webdoxclm.com/api/v2/decision_workflows/:id/assign_step_users

The above command returns JSON structured like this:

{
    "step": {
        "id_number": 1,
        "id_parallel": 0,
        "name": "1",
        "id_workflow": 79,
        "assigned_to": [
            {
                "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                "name": "John Doe"
            },
            {
                "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
                "name": "Jane Doe"
            }
        ],
        "step_type": null
    }
}

URL Parameters

Parameter Description
step_id The ID of the Step
assigned_ids The IDs from users

Users and Groups can be assigned

This endpoint returns all users and groups that can be assigned in a given step

Supported formats

[JSON]

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/:id/users_can_assign

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/1/users_can_assign.json?number=2&parallel_number=0' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

{
    "users": [
        {
            "id": 1,
            "first_name": "Jhon",
            "last_name": "Smith",
            "email": "[email protected]"
        },
        {
            "id": 2,
            "first_name": "John",
            "last_name": "Doe",
            "email": "[email protected]"
        }
    ],
    "jobs": [
        {
            "id": 1,
            "name": "Ejecutivo"
        },
        {
            "id": 2,
            "name": "Subgerente"
        }
    ]
}

URL Parameters

Parameter Description
number Step Number
parallel_number Step Parallel Number

If the parameters are not sent, the information of the current step is obtained

Get sign url

This endpoint allows obtaining the signature url in a given signature step for the logged in user.

Supported formats

[JSON]

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/:id/sign_url

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/42/sign_url?number=2&parallel_number=0' \
--header 'Authorization: Bearer <TOKEN>'

The above command returns JSON structured like this:

{
    "url": "https://signature.webdoxclm.com/s/ebf65056-5c09-4c50-9cea-93db8753ce7f"
}

URL Parameters

Parameter Description
number Step Number
parallel_number Step Parallel Number

If the parameters are not sent, the information of the current step is obtained

Validate Step

This endpoint validates a given step from Workflow

Supported formats

[JSON]

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/11/validate?number=1&parallel_number=0' \
--header 'Authorization: Bearer 30fc661152f2090f1abcfb54ef8393d3639b37efdb5d577ba3df7eb6b9573a2f' \
--data-raw '{
    "comment": "Validado"
}'

HTTP Request

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<ID_DW>/validate?number=<N>&parallel_number=<P_N>

The above command returns JSON structured like this:

{
    "success": true,
    "step": {
        "id_number": 1,
        "id_parallel": 0,
        "id_workflow": 11,
        "assigned_to": [
            {
                "id": "040b0e08-deb7-41af-9af8-b4dc24830e68",
                "name": "User Test"
            }
        ],
        "step_type": null
    }
}

URL Parameters

Parameter Description
ID_DW The ID of the decision workflow
N The number of step
P_N The parallel number of step

Body Parameters

Parameter Required Validation Description
comment Optional String A comment from the validater user

Return previous step

This endpoint allows to return the workflow to the previous step.

Supported formats

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/11/return_step?number=2' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

POST https://app.webdoxclm.com/api/v2/decision_workflows/<ID_DW>/return_step?number=<N>&parallel_number=<P_N>

The above command returns JSON structured like this:

{
    "success": true,
    "status": 200
}

URL Parameters

Parameter Description
ID_DW The ID of the decision workflow
N The number of step
P_N The parallel number of step

Add document to redaction step

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/documents?number=<STEP_NUMBER>' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--form 'origin="pc"' \
--form 'attachment=@"/Users/webdox-dev12/Documents/important_document.pdf"'

The above command returns JSON structured like this:

{
    "document": {
        "id": 44,
        "name": "important_document.pdf",
        "type": "document"
    }
}

Supported formats

[JSON]

This endpoint allows adding documents to redaction steps.

HTTP Request

POST https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/documents?number=<STEP_NUMBER>&parallel_number=<PARALLEL_NUMBER>

URL Parameters

Parameter Description
WF_ID The ID of the decision workflow
STEP_NUMBER The number of step
PARALLEL_NUMBER The parallel number of step

Body Parameters

Parameter Required Validation Description
origin Must be a text string. Origin of the document to upload (template, pc)
word_template_id Optional integer (must be used if origin is template) Corresponds to the id of the word template
attachment Optional ID (musut be used if origin is pc) Corresponds to the document you want to upload
versioned_document Optional boolean (debe usarse si origin es pc) Must be submitted to upload pdf documents

Body example

{ "origin": "template", "word_template_id": 1 }

List documents of the step

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_ID>/documents' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \

The above command returns JSON structured like this:

[
    {
        "id": "93ac84fea5be4e2a8455bff497654f46",
        "name": "annex_services.docx",
        "created_at": "2021-04-23T13:30:17.431-05:00",
        "updated_at": "2021-04-23T13:30:24.623-05:00",
        "modified_at": "2021-04-23T13:30:17.471-05:00",
        "attachment_file_size": 20513,
        "created_by": "fdsf234fsdf345gsf59a170b0dc536c",
        "creator_name": "Jane Doe",
        "extension": null,
        "file_ext": "docx",
        "last_office_document_version_user": "--",
        "office_document_version_number": [],
        "download_url": "document url"
    },
    {
        "id": "981f194d0fc14c2a98decead4756823c",
        "name": "original_contract.pdf",
        "created_at": "2021-04-26T12:19:01.823-05:00",
        "updated_at": "2021-04-26T12:19:06.726-05:00",
        "modified_at": "2021-04-26T12:19:04.785-05:00",
        "attachment_file_size": 74725,
        "created_by": "95edb20421294b60bb59a170b0dc536c",
        "creator_name": "John Doe",
        "extension": null,
        "file_ext": "pdf",
        "last_office_document_version_user": "--",
        "office_document_version_number": [],
        "last_office_document_version_url": "last version url"
        "download_url": "main document url"
    },
    ...
]

It allows to show the documents uploaded to the step of the workflow

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_ID>/documents

URL Parameters

Parameter Description
ID Workflow id
STEP_ID Step number

Update form fields

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>/attributes' \
--header 'Authorization: Bearer bf18538228e7ca15ce4224c8de8241f825dd2cd5a5495abdbb698684bf86ec39' \
--header 'Content-Type: application/json' \
--data-raw '{
    "parallel_number": 0,
    "step_attributes":{
        "f0cf1399-55bb-47e9-a6ab-459df2f2f628": "Contract 1",
        "b4869bdf-ede3-4057-845a-5ab3558289d2": "Annex",
        "5a75371d-775f-4c9e-8704-13d5ec53d0eb": "555123123",
        "1e1aab9c-4e0b-47e9-a45f-7306b9e4b14f": "true",
        "c1ed8ce0-9c4e-4ba5-8b6f-a50bcb744f55": "Santiago",
        "643fc63f-c34b-4ea5-a243-6a5173a97ed0": "2021-05-26"
    }
}'

The above command returns JSON structured like this:

[
    {
        "id": "f0cf1399-55bb-47e9-a6ab-459df2f2f628",
        "attribute_options": [],
        "value": "Contract 1",
        "name": "nombre",
        "position": 0,
        "required": false,
        "type": "string"
    },
    {
        "id": "b4869bdf-ede3-4057-845a-5ab3558289d2",
        "attribute_options": [
            {
                "id": "de64fced-622a-4043-b835-19025236c0bf",
                "value": "asignacion"
            },
            {
                "id": "aa8c26f4-558c-4376-9e7e-01c541862c51",
                "value": "creacion"
            }
        ],
        "value": "asignacion",
        "name": "tipo",
        "position": 1,
        "required": true,
        "type": "list"
    },
    {
        "id": "5a75371d-775f-4c9e-8704-13d5ec53d0eb",
        "attribute_options": [],
        "value": "555123123",
        "name": "telefono",
        "position": 3,
        "required": false,
        "type": "numeric"
    },
    {
        "id": "1e1aab9c-4e0b-47e9-a45f-7306b9e4b14f",
        "attribute_options": [],
        "value": "true",
        "name": "acepta",
        "position": 4,
        "required": false,
        "type": "boolean"
    },
    {
        "id": "c1ed8ce0-9c4e-4ba5-8b6f-a50bcb744f55",
        "attribute_options": [
            {
                "id": "15",
                "value": "Arica y Parinacota",
                "communes": [
                    {
                        "id": "15101",
                        "value": "Arica"
                    },
                    {
                        "id": "15102",
                        "value": "Camarones"
                    },
                    {
                        "id": "15202",
                        "value": "General Lagos"
                    },
                    {
                        "id": "15201",
                        "value": "Putre"
                    }
                ]
            },
            ...
        ],
        "value": "Santiago",
        "name": "comuna",
        "position": 5,
        "required": false,
        "type": "chilean_commune"
    },
    {
        "id": "643fc63f-c34b-4ea5-a243-6a5173a97ed0",
        "attribute_options": [],
        "value": "2021-05-26",
        "name": "fecha proceso",
        "position": 2,
        "required": true,
        "type": "date"
    }

This endpoint allows you to change the value of the form fields of the step

HTTP Request

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/steps/<STEP_ID>/attributes

URL Parameters

Parameter Description
ID Workflow id
STEP_ID Step number

Body Parameters

Parameter Required Validation Description
parallel_number It must be a whole number Parallel step number
step_attributes Hash array Contains the attributes to update matched by field id and its value

Download documents

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents' \
--header 'Authorization: Bearer 0a85e789058d46209f150b2e697f87d7aa94e88d031aebe8d780e50c2b6ea54c' \

The above command returns JSON structured like this:

[
    {
        "f0cf1399-55bb-47e9-a6ab-459df2f2f628": "document_url"
    },
    {
        "5a75371d-775f-4c9e-8704-13d5ec53d0eb": "document_url"
    },
    {
        "643fc63f-c34b-4ea5-a243-6a5173a97ed0": "document_url"
    }
]

This endpoint allows you to obtain the links of the workflow documents for download

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents

Assign document to signature

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/set_signable_document' \
--header 'Authorization: Bearer 3bd551464fcb353322e3fca4f9004f3ed3984e4d3d46dffc787b40dc00ad275f' \
--header 'Content-Type: application/json' \
--data-raw '{
    "document_id": "6c4ddb4be5c34467b5c0bf0ca9bba3fc",
    "number": "1"
}'

The above command returns JSON structured like this:

success

This endpoint allows you to assign the documents to be signed

HTTP Request

POST https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/set_signable_document

URL Parameters

Parameter Description
WF_ID Workflow id

Body Parameters

Parameter Required Validation Description
document_id ID Id of the document to assign
number Integer Signature step number

Delete document

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents/<DOC_ID>' \
--header 'Authorization: Bearer 3bd551464fcb353322e3fca4f9004f3ed3984e4d3d46dffc787b40dc00ad275f' \

The above command returns JSON structured like this:

Document deleted

This endpoint allows you to delete a document from the process. It is also used to delete documents from the step

HTTP Request

DELETE https://app.webdoxclm.com/api/v2/decision_workflows/<ID>/documents/<DOC_ID>

URL Parameters

Parameter Description
ID Workflow Id
DOC_ID Document Id

Workflow templates

These templates are used to create new workflows.

Get All Workflow´s Templates

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

[
    {
        "id": "b9edf969-a6c6-43cc-a4c0-70f52f4ba24d",
        "name": "Wf decisiones"
    },
    {
        "id": "dc1d668c-c182-487b-8adc-91ba0159d66a",
        "name": "new name 2"
    },
    {
        "id": "02376bd8-2048-4976-9211-cd6d78b6adb6",
        "name": "test run"
    }
]

This endpoint retrieves all Workflow´s templates.

HTTP Request

GET https://app.webdoxclm.com/api/v2/templates

Edit a Workflow Template

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/templates/a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66' \
--header 'Authorization: Bearer c472ca4f32df9ea4645ebc8334f7e328ab841d34c4db2330bf6d90a1abc1cf77' \
--header 'Content-Type: application/json' \
--data-raw '{
    "decision_workflow_template":{
        "name":"hello world"
    }
}'

The above command returns JSON structured like this:

This endpoint edits de selected template.


{
    "id": "a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66",
    "name": "hello world",
    "draft": false
}

HTTP Request

PUT https://app.webdoxclm.com/api/v2/templates/:ID

Body Parameters

Parameter Required Validation Description
name Must be a string Name of Workflow Template

Body example

{ "decision_workflow_template":{ "name":"hello world" } }

Get selected workflow template.

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates/a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66' \
--header 'Authorization: Bearer 20a27f01382eb430c9a0993d08b2abe9ba80b1c65eface47c31c614838ed3ed1'

The above command returns JSON structured like this:

{
    "id": "a5cb38c8-8a9f-4190-9e3b-c7c9fb596b66",
    "name": "Workflow enero 29 2021, 3:48:58 p1231m",
    "draft": false
}

This endpoint retrieves data from the selected template.

HTTP Request

GET https://app.webdoxclm.com/api/v2/templates/:ID

Create a Workflow Template

curl --location --request POST 'https://app.webdoxclm.com/api/v2/templates' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99' \
--header 'Content-Type: application/json' \
--data-raw '{
    "decision_workflow_template":  {
        "name": "test"
    }
}'

The above command returns JSON structured like this:

{
    "id": "08559ee4-62df-42e0-b95d-c2f75984db7f",
    "name": "Plantilla generica",
    "draft": false
}

This endpoint allows to create a Workflow Template with a given name

Supported formats

[JSON]

HTTP Request

POST https://app.webdoxclm.com/api/v2/templates

Body Parameters

Parameter Required Validation Description
name Must be a string and unique Name

List workflow steps

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates/483b86f9-f1ce-438a-9a9a-b0619e06ba0b/steps' \
--header 'Authorization: Bearer c38b2bebf4aa0e76d3729080fd77e8a48d982a6c346a1bdd90522c3ad3ecbcc2' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7'

The above command returns JSON structured like this:

[
    {
        "name": "Step 1",
        "number": 1,
        "parallel_number": 0,
        "kind": "form",
        "limit_time_number": 2,
        "limit_time_units": "days",
        "text_description": "Step 1 creation",
        "user_ids": [],
        "job_ids": [],
        "signers": null,
        "conditions": [],
        "triggers": [],
        "attributes": []
    },
    {
        "name": "Step 2",
        "number": 2,
        "parallel_number": 0,
        "kind": "signature",
        "limit_time_number": 2,
        "limit_time_units": "days",
        "text_description": "Step 2 creation",
        "user_ids": [],
        "job_ids": [],
        "signers": null,
        "conditions": [],
        "triggers": [],
        "attributes": []
    },
    ...
]

Allows you to list the steps of a workflow template

HTTP Request

GET https://app.webdoxclm.com/api/v2/templates/<TEMPLATE_ID>/steps

Get template step detail

curl --location --request GET 'https://app.webdoxclm.com/api/v2/templates/483b86f9-f1ce-438a-9a9a-b0619e06ba0b/steps/2' \
--header 'Authorization: Bearer c38b2bebf4aa0e76d3729080fd77e8a48d982a6c346a1bdd90522c3ad3ecbcc2' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7' \
--form 'decision_workflow_template_step[parallel_number]="0"'

The above command returns JSON structured like this:

{
    "name": "Step 2",
    "number": 2,
    "parallel_number": 0,
    "kind": "form",
    "limit_time_number": 2,
    "limit_time_units": "days",
    "text_description": "Step 2 creation",
    "user_ids": [],
    "job_ids": [],
    "signers": null,
    "conditions": [],
    "triggers": [],
    "attributes": []
}

Allows you to get the detail of a template step

HTTP Request

GET https://app.webdoxclm.com/api/v2/templates/<TEMPLATE_ID>/steps/<STEP_NUMBER>

Body Parameters

Parameter Required Validation Description
decision_workflow_template_step Must be a hash Specifies if it is a parallel or main step
parallel_number Must be an integer Indicates the number of the parallel step

Create workflow template steps

curl --location --request POST 'https://app.webdoxclm.com/api/v2/templates/<DWT_ID>/steps' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'
--data-raw '{
    "decision_workflow_template_step": {
        "name": "Paso 8",
        "text_description": "Descripcion paso 8",
        "number": 8,
        "parallel_number": 0,
        "limit_time_units": "days",
        "limit_time_number": 2,
        "kind": "validation",
        "triggers": [
            {
                "type": "approval_apply",
                "target_action": {}
            }
        ],
        "form":[
            {
              "name":"Tipo texto 1",
              "type":"string",
              "required":false
            },
            {
              "name":"opcion1",
              "type":"list",
              "required":false,
              "options":[
                {"value":"nombre campo 1"},
                {"value":"nombre campo 2"}
              ]
            },
            {
              "name":"numero 1",
              "type":"numeric",
              "required":false,
            },
            {
              "name":"fecha",
              "type":"date",
              "required":false,
            }
        ]
    }
}'

The above command returns JSON structured like this:

{
    "name": "Paso 9",
    "number": 9,
    "parallel_number": 0,
    "kind": "validation",
    "text_description": "Descripcion paso 9",
    "user_ids": [],
    "job_ids": [],
    "signers": null,
    "conditions": [],
    "triggers": [
        {
            "type": "approval_apply",
            "target_action": {}
        }
    ],
    "attributes": [
        {
            "id": "dfa3e4dd-7389-44f7-b54a-a9eb24d80e5e",
            "name": "Tipo texto 1",
            "type": "string",
            "required": false,
            "position": 0,
            "options": []
        },
        {
            "id": "e7693da7-bb2b-4b6d-93e2-8ef528a085b0",
            "name": "opcion1",
            "type": "list",
            "required": false,
            "position": 1,
            "options": [
                {
                    "id": 12,
                    "value": "nombre campo 1",
                    "tag": null,
                    "customer_id": 1
                },
                {
                    "id": 13,
                    "value": "nombre campo 2",
                    "tag": null,
                    "customer_id": 1
                }
            ]
        },
        {
            "id": "644ecb7a-6e09-4b3d-980e-8e1ce997e8d7",
            "name": "numero 1",
            "type": "numeric",
            "required": false,
            "position": 2,
            "options": []
        },
        {
            "id": "4481f206-d14f-4f9f-b580-48b3dd1a3c96",
            "name": "fecha",
            "type": "date",
            "required": false,
            "position": 3,
            "options": []
        }
    ]
}

Allows to create workflow template steps

HTTP Request

POST https://app.webdoxclm.com/api/v2/templates/<DWT_ID>/steps

URL Parameters

Parameter Description
DWT_ID Workflow template id

Body Parameters

Parameter Required Validation Description
decision_workflow_template_step Must be a hash Step name
name Must be a text string Step number
number Must be an integer Parallel step number
parallel_number Must be an integer Step time limit value
limit_time_number Must be an integer Time unit
limit_time_units Must be a text string Time unit type
kind Must be a text string Step type
text_description Must be a text string Step description
user_ids Debe ser un arreglo de números enteros Users assigned to the step
job_ids Debe ser un arreglo de números enteros Groups assigned to the step
conditions It must be an array of hashes Step decisions
left_value Must be a text string Form field
right_value Must be a text string Value of the field that triggers the action
true_step_number Must be an integer Step to which the workflow will go if the condition is met
form It must be an array of hashes Step form
name Must be a text string Field Name
type Must be a text string Field type
required debe ser true o false Obligatory nature of the field
options It must be an array of hashes Options for field type list
value Puede ser texto o número Option value
triggers It must be an array of hashes Actions
trigger_action It must be an array of hashes Type of action
message Must be a text string Message for action of type send_mail
reciever Must be a text string Message recipient
subject Must be a text string Message Subject

Update workflow template steps

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/templates/<DWT_ID>/steps/<STEP_NUMBER>' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'
--data-raw '{

    "decision_workflow_template_step": {
        "name": "Paso 6",
        "number": 6,
        "parallel_number": 0,
        "kind": "signature",
        "text_description": "Descripcion paso 6 actualizada por api",
        "user_ids": [],
        "job_ids": [
            2
        ],
        "signers": null,
        "conditions": [],
        "triggers": [],
        "attributes": [
            {
                "id": "2d9bb273-bda0-4fac-9262-45a31c02bbc2",
                "name": "Nombre 6",
                "type": "date",
                "required": true,
                "position": 0,
                "options": []
            }
        ]
    }
}
  '

The above command returns JSON structured like this:

{
    "decision_workflow_template_step": {
        "name": "Paso 6",
        "number": 6,
        "parallel_number": 0,
        "kind": "signature",
        "text_description": "Descripcion paso 6 actualizada por api",
        "user_ids": [],
        "job_ids": [
            2
        ],
        "signers": null,
        "conditions": [
          {
            left_value: "   ",
            right_value: "   ",
            role: "dynamic_attribute",
            true_step_number: 1,
            type: "=="
            }
          ],
        "triggers": [],
        "attributes": [
            {
                "id": "2d9bb273-bda0-4fac-9262-45a31c02bbc2",
                "name": "Nombre 6",
                "type": "date",
                "required": true,
                "position": 0,
                "options": []
            }
        ]
    }
}

Allows to update workflow template steps

HTTP Request

PUT https://app.webdoxclm.com/api/v2/decision_workflow_template_steps/<DWT_ID>/steps/<STEP_NUMBER>

URL Parameters

Parameter Description
DWT_ID Workflow template id
STEP_NUMBER Step number

<h3 id='body-parameters'>Body Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Required</th>
<th>Validation</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>decision_workflow_template_step</td>
<td>✔</td>
<td>Must be a hash</td>
<td>Step name</td>
</tr>
<tr>
<td>name</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Step number</td>
</tr>
<tr>
<td>number</td>
<td>✔</td>
<td>Must be an integer</td>
<td>Parallel step number</td>
</tr>
<tr>
<td>parallel_number</td>
<td>✔</td>
<td>Must be an integer</td>
<td>Step time limit value</td>
</tr>
<tr>
<td>limit_time_number</td>
<td>✔</td>
<td>Must be an integer</td>
<td>Time unit</td>
</tr>
<tr>
<td>limit_time_units</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Time unit type</td>
</tr>
<tr>
<td>kind</td>
<td></td>
<td>Must be a text string</td>
<td>Step type</td>
</tr>
<tr>
<td>text_description</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Step description</td>
</tr>
<tr>
<td>user_ids</td>
<td></td>
<td>Debe ser un arreglo de números enteros</td>
<td>Users assigned to the step</td>
</tr>
<tr>
<td>job_ids</td>
<td>✔</td>
<td>Debe ser un arreglo de números enteros</td>
<td>Groups assigned to the step</td>
</tr>
<tr>
<td>conditions</td>
<td></td>
<td>It must be an array of hashes</td>
<td>Step decisions</td>
</tr>
<tr>
<td>left_value</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Form field</td>
</tr>
<tr>
<td>right_value</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Value of the field that triggers the action</td>
</tr>
<tr>
<td>true_step_number</td>
<td>✔</td>
<td>Must be an integer</td>
<td>Step to which the workflow will go if the condition is met</td>
</tr>
<tr>
<td>form</td>
<td></td>
<td>It must be an array of hashes</td>
<td>Step form</td>
</tr>
<tr>
<td>name</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Field Name</td>
</tr>
<tr>
<td>type</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Field type</td>
</tr>
<tr>
<td>required</td>
<td>✔</td>
<td>debe ser true o false</td>
<td>Obligatory nature of the field</td>
</tr>
<tr>
<td>options</td>
<td>✔</td>
<td>It must be an array of hashes</td>
<td>Options for field type <code>list</code></td>
</tr>
<tr>
<td>value</td>
<td>✔</td>
<td>Puede ser texto o número</td>
<td>Option value</td>
</tr>
<tr>
<td>triggers</td>
<td></td>
<td>It must be an array of hashes</td>
<td>Actions</td>
</tr>
<tr>
<td>trigger_action</td>
<td>✔</td>
<td>It must be an array of hashes</td>
<td>Type of action</td>
</tr>
<tr>
<td>message</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Message for action of type <code>send_mail</code></td>
</tr>
<tr>
<td>reciever</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Message recipient</td>
</tr>
<tr>
<td>subject</td>
<td>✔</td>
<td>Must be a text string</td>
<td>Message Subject</td>
</tr>
</tbody></table>

Possible values ​​for kind field

Value Description
redaction Redaction
validation Validation
signature Signature
form Form

Possible values ​​for type field

Value Description
numeric numeric
string string
date date
list list
boolean true or false
email email
rut rut
text text
chilean_region chilean region
chilean_commune chilean commune

Possible values for trigger_action field

Value Description
send_email send email
approval_apply approval apply

Signers

Signers management of signing steps on Workflows.

Get all signers from a decision workflow step

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer [ACCESS_TOKEN]"'

The above command returns JSON structured like this:

[
    {
        "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
        "step_number": 1,
        "step_parallel_number": 0,
        "kind": "external",
        "status": "pending",
        "user_id": null,
        "country_code": "CHL",
        "name": "Sample User",
        "email": "[email protected]",
        "national_identification_number": "20000000-1",
        "national_identification_kind_id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
        "signature_id": null,
        "envelope_id": 8,
        "signed_at": null,
        "signed_difference": null,
        "phone_number": null,
        "has_valid_positioned_signatures": false,
        "cc_email": null,
        "use_notification_method_whatsapp": false
    }
]

Endpoint used to get all signers

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>

Create Signer

curl --location --request POST 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer [ACCESS_TOKEN]"'
--data-raw '{
  "signer": {
    "kind": "external",
    "user_id": null,
    "country_code": "CHL",
    "name": "Sample name",
    "email": "[email protected]",
    "national_identification_number": "20000000-1"
    "national_identification_kind_id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
    "cc_email": "[email protected]",
    "use_notification_method_whatsapp": true
  }
}'
curl --location 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer [ACCESS_TOKEN]' \
--data '{
    "signer": {
        "kind": "internal",
        "user_id": "c6971fd6-f571-47aa-b53a-9cb84bb37500",
        "use_notification_method_whatsapp": true
    }
}'

The above command returns JSON structured like this:

[
    {
        "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
        "step_number": 1,
        "step_parallel_number": 0,
        "kind": "external",
        "status": "pending",
        "user_id": null,
        "country_code": "CHL",
        "name": "Sample name",
        "email": "[email protected]",
        "national_identification_number": "20000000-1",
        "national_identification_kind_id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
        "signature_id": null,
        "envelope_id": 8,
        "signed_at": null,
        "signed_difference": null,
        "phone_number": null,
        "has_valid_positioned_signatures": false,
        "cc_email": null,
        "use_notification_method_whatsapp": true
    }
]

Endpoint to create signers in workflow step

HTTP Request

POST https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers?parallel_number=<PARALLEL_STEP_NUMBER>

Body Parameters

Parameter Required Validation Description
kind Must be a string Type of signer
user_id Must be a string Id of the internal Webdox’s user
country_code Must be a string Country ISO code
name Must be a string Name of signer
email Must be a string Email of signer
national_identification_number Must be a string National identification number of signer
national_identification_kind_id Must be a UUID National identification kind id of the signer. Only required when the country code has many national identification kinds. The id can be obtained from the National Identification Kind endpoint
cc_email Must be a string CC or Carbon Copy
use_notification_method_whatsapp Must be a boolean (true o false) Notify the signer by Whatsapp (where available).
phone_number Must be a string Signer's telephone number (including country code e.g. +56932104567)
Value Description
internal internal
external external

Update signer

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer [ACCESS_TOKEN]"'
--data-raw '{
  "signer": {
    "kind": "external",
    "user_id": null,
    "country_code": "CHL",
    "name": "Sample name",
    "email": "[email protected]",
    "national_identification_number": "20000000-1",
    "cc_email": "[email protected]",
    "use_notification_method_whatsapp": false
  }
}'

The above command returns JSON structured like this:

[
    {
        "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
        "step_number": 1,
        "step_parallel_number": 0,
        "kind": "external",
        "status": "pending",
        "user_id": null,
        "country_code": "CHL",
        "name": "Sample name",
        "email": "[email protected]",
        "national_identification_number": "20000000-1",
        "signature_id": null,
        "envelope_id": 8,
        "signed_at": null,
        "signed_difference": null,
        "phone_number": null,
        "has_valid_positioned_signatures": false,
        "cc_email": null,
        "use_notification_method_whatsapp": false
    }
]

Endpoint to update a signer

HTTP Request

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>

Body Parameters

Parameter Required Validation Description
kind Must be a string Type of signer
user_id Must be a string Id of the internal Webdox’s user
country_code Must be a string Country ISO code
name Must be a string Name of signer
body_parameter_name Must be a string Email of signer
body_parameter_name Must be a string National identification number of signer
national_identification_kind_id Must be a UUID National identification kind id of the signer. Only required when the country code has many national identification kinds. The id can be obtained from the National Identification Kind endpoint
cc_email Must be a string CC or Carbon Copy
use_notification_method_whatsapp Must be a boolean (true o false) Notify the signer by Whatsapp (where available).
phone_number Must be a string Signer's telephone number (including country code e.g. +56932104567)

Delete signer

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99"'

The above command returns JSON structured like this:

{
    "id": "c1c86feb-f806-4897-b8e5-5360b00f5302",
    "step_number": 1,
    "step_parallel_number": 0,
    "kind": "external",
    "status": "pending",
    "user_id": null,
    "country_code": null,
    "name": "Sample user",
    "email": "[email protected]",
    "national_identification_number": "20000000-1",
    "signature_id": null,
    "envelope_id": 8,
    "signed_at": null,
    "signed_difference": null,
    "phone_number": null,
    "has_valid_positioned_signatures": false,
    "cc_email": null,
    "use_notification_method_whatsapp": false
}

Endpoint to delete signer

HTTP Request

DELETE https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/<SIGNER_ID>?parallel_number=<PARALLEL_STEP_NUMBER>

Get signature urls

curl --location --request GET 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/urls?parallel_number=<PARALLEL_STEP_NUMBER>' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

The above command returns JSON structured like this:

[
    {
        "name": "John Doe",
        "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
        "url": "https://firma.webdox.cl/s/gres56w36gs-g43w65g-grstyuk-6476t"
    },
    {
        "name": "Jane Doe",
        "id": null,
        "url": "https://firma.webdox.cl/s/34242gfgf-rj847-jt675-tyjt6-34536h5787j"
    }
]

This endpoint allows you to have the electronic signature links of the signers of a workflow

HTTP Request

GET https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/urls?parallel_number=<PARALLEL_STEP_NUMBER>'

URL Parameters

Parameter Description
WF_ID Workflow Id
STEP-NUMBER Step number
PARALLEL_STEP_NUMBER Step parellel number

Forward mails to pending signatories

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/resend_emails' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

The above command returns JSON structured like this:

{
    "success": true
}

Endpoint that sends reminders to pending signers e-mail addresses

HTTP Request

PUT https://app.webdoxclm.com/api/v2/decision_workflows/<WF_ID>/steps/<STEP_NUMBER>/signers/resend_emails

URL Parameters

Parameter Description
WF_ID Workflow Id
STEP-NUMBER Step number

Requests

In Webdox you can create requests to start processes (Workflows)

List requests

curl --location --request GET 'https://app.webdoxclm.com/api/v2/workflow_requests?page=1&per_page=10&filters[status]=requested' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

The above command returns JSON structured like this:

[
    {
        "id": 39,
        "title": "Test 1",
        "description": "First Request",
        "status": "requested",
        "request_form_name": "Solicitud Contrato",
        "requester": {
            "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
            "first_name": "Jane",
            "last_name": "Doe"
        },
        "assigned": {
            "id": "22e159d7-81fc-4259-981a-ae784b37ecbe",
            "first_name": "John",
            "last_name": "Doe"
        },
        "created_at": "2024-07-31T14:58:33.673-04:00"
    },
    ...
]

Get the list of requests from your account

HTTP Request

GET https://app.webdoxclm.com/api/v2/workflow_requests

Value Description  Type
page Page number  Numeric
per_page Number of items per page  Numeric
filters Filters to apply  String

XX can take the following values:

Value Description  Type
status Request status. Value should be one of the following: "requested", "rejected", "taken", "finished", "canceled", "under_modification" or "in_review"  String
created_start_date Start of the request creation date with ISO 8601 format  String
created_end_date End of the request creation date with ISO 8601 format  String

Get request data

curl --location --request GET 'https://app.webdoxclm.com/api/v2/workflow_requests/<ID>' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

The above command returns JSON structured like this:

{
    "id": 39,
    "title": "Request example",
    "description": "description here",
    "status": "requested",
    "created_at": "2021-03-13T21:43:30.601-03:00",
    "attachments": [],
    "requester": {
        "id": "e1c6f251-5efc-410f-924f-8cbba1ff7f15",
        "first_name": "Jane",
        "last_name": "Doe"
    },
    "assigned": {
        "id": "22e159d7-81fc-4259-981a-ae784b37ecbe",
        "first_name": "John",
        "last_name": "Doe"
    },
    "request_form_attributes": [
        {
            "attribute_id": "d7e08f85-92e1-45e2-a6ed-d897867e5feb",
            "attribute_name": "Mode",
            "attribute_value": "1"
        },
        {
            "attribute_id": "2d8cd8d3-35c7-4270-9417-aac4af23d4f3",
            "attribute_name": "Amount of the contract",
            "attribute_value": "1.000 USD"
        },
        {
            "attribute_id": "c12eddd1-1303-4ddb-a050-63dee79a3236",
            "attribute_name": "Starting date",
            "attribute_value": "2021-03-13"
        }
    ]
}

It allows obtaining the fields of a request and their attributes

HTTP Request

GET https://app.webdoxclm.com/api/v2/workflow_requests/<ID>

Create Request

curl --location --request POST 'https://app.webdoxclm.com/api/v2/workflow_requests' \
--header 'Authorization: Bearer 28fe7240a5a69cdac997b2f498aec9aacb9f8f53eeac6a79b503ce976789983c' \
--header 'Content-Type: application/json' \
--data-raw '{
    "workflow_request" :
    {
        "title": "Request",
        "description": "Description",
        "request_form_id": "e4b53c61-8fba-4f85-bea9-a7c5a5b6975a"
    },
    "request_form_attribute": {
        "c9fa5502-2778-49b6-9d45-c54787b1a95f": "Arica",
        "ac06e7fa-9036-4d05-8465-0b9b81b22990": @"/Users/webdox-dev-2/Downloads/DOC-39-38763151.pdf"
    },
    "synchronous_doc_creation": true
}'

The above command returns JSON structured like this:

{
    "workflow_request": {
        "id": 74,
        "title": "Request",
        "description": "Description",
        "status": "requested",
        "created_at": "2021-03-26T14:53:08.092-03:00",
        "attachments": [],
        "requester": {
            "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
            "first_name": "John",
            "last_name": "Doe"
        },
        "assigned": null,
        "request_form_attributes": [
            {
                "attribute_id": "c9fa5502-2778-49b6-9d45-c54787b1a95f",
                "attribute_name": "Comuna",
                "attribute_value": "Arica"
            },
            {
                "attribute_id": "ac06e7fa-9036-4d05-8465-0b9b81b22990",
                "attribute_name": "Archivo",
                "attribute_value": null
            }
        ]
    },
    "success": true
}

Allows to generate requests in Webdox

HTTP Request

POST https://app.webdoxclm.com/api/v2/workflow_requests

Body Parameters

Parameter Required Validation Description
workflow_request It must be a hash
title Must be a text string Request name
description Must be a text string (255) Text describing the reason for the request
request_form_id It must be a whole number Request form id
draft Can be true or false Allows you to create a request as a draft (with status 'under_modification').
synchronous_doc_creation Must be true or false Allows you to change the way the request template documents are processed
request_form_attribute It must be a hash Request form fields
request_form_attribute[ID] Must be a text string (255) ID is the identifier of the request field, while the text will be its value

Status of a request

curl --location --request GET 'https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/get_status' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

The above command returns JSON structured like this:

{
    "status_index": 0,
    "status": "requested"
}

Get the status of a request

HTTP Request

GET https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/get_status

URL Parameters

Parameter Description
ID The request id

Assign a user to the request

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/change_taker' \
--header 'Authorization: Token token="[TOKEN]"' \
--form 'user_id= \'

The above command returns JSON structured like this:

{
    "success": true,
    "assigned": {
        "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
        "first_name": "John",
        "last_name": "Doe"
    }
}

Allows you to assign a user who is in charge of executing the request

HTTP Request

PUT https://app.webdoxclm.com/api/v2/workflow_requests/<ID>/change_taker

URL Parameters

Parameter Description
ID Request id

Body Parameters

Parameter Required Validation Description
user_id Must be a whole number Assigned User ID

Application forms

They are templates that allow you to generate Webdox requests. Here the fields that the request will have are configured

Get list of application forms

curl --location --request GET 'https://app.webdoxclm.com/api/v2/request_forms?page=1&per_page=15?filters[status]=published' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

The above command returns JSON structured like this:

[
    {
        "id": "3ae23c04-ecf9-4448-8f7d-d253d4a95eba",
        "name": "Solicitud Anexo de Contrato",
        "description": "",
        "rjob_ids": [
            "46896f04-1217-476a-87fa-3c6fc50ae936"
        ],
        "creator": "John Doe",
        "created_at": "2021-03-17T19:24:42.455-03:00",
        "last_activity": {
            "timestamp_str": "2021-03-17T19:24:42.455-03:00",
            "responsible": "John Doe"
        },
        "status": "published"
    },
    {
        "id": "e4b53c61-8fba-4f85-bea9-a7c5a5b6975a",
        "name": "Solicitud Compra de Insumos",
        "description": "",
        "rjob_ids": [],
        "creator": "Jane Doe",
        "created_at": "2021-01-22T14:13:26.528-03:00",
        "last_activity": {
            "timestamp_str": "2021-01-22T14:13:26.528-03:00",
            "responsible": "Jane Dow"
        },
        "status": "published"
    },
    ...
]

Allows you to obtain a list of all application forms

HTTP Request

GET https://app.webdoxclm.com/api/v2/request_forms?page=1&per_page=15

Value Description  Type
page Current page number  Numeric
per_page Number of elements per page  Numeric
filters Filters to apply  String

XX can take the following values:

Value Description  Type
status Request form status. Should be one of the following: "draft" or "published"  String
created_start_date Start of the request creation date with ISO 8601 format  String
created_end_date End of the request creation date with ISO 8601 format  String

Get details of the request form

curl --location --request GET 'https://app.webdoxclm.com/api/v2/request_forms/<ID>' \
--header 'Authorization: Bearer 84afea467c63de04ccbe6f8f4859aad7f4ec8a60430046f96b5af601724f9cbf' \

The above command returns JSON structured like this:

{
    "id": "3ae23c04-ecf9-4448-8f7d-d253d4a95eba",
    "name": "Prueba distribuidor de carga obligatorio",
    "description": "",
    "job_ids": [
        "15f91198-0708-41e8-9659-935cf9f85251"
    ],
    "rjob_ids": [
        "15f91198-0708-41e8-9659-935cf9f85251",
        "7390fd91-f3dc-43f8-a786-033c314ad0bd",
        "3ff03eb9-a5cd-4cfe-b21b-59463b1c3ad1"
    ],
    "assignable_ids": [
        "7390fd91-f3dc-43f8-a786-033c314ad0bd"
    ],
    "require_assignation": true,
    "cc_user_ids": [],
    "firm_attribute_ids": [],
    "attributes": [
        {
            "id": "60320a40-66ec-41e1-a388-0adf018d4fa5",
            "name": "Nombre Empresa",
            "type_cd": 1,
            "type": "string",
            "required": true,
            "description": null,
            "options": [],
            "position": 0,
            "token_name": ""
        }
    ],
    "enable_automatic_name": false,
    "name_attribute_ids": [],
    "timestamp_on_name": false,
    "start_decision_workflow_trigger": false,
    "sla_request_units": 7,
    "creator": "John Doe",
    "last_activity": {
        "timestamp_str": "2021-03-26T14:28:37.537-03:00",
        "responsible": "John Doe"
    },
    "status": "published",
    "word_template_ids": [],
    "has_template": false
}

Allows you to obtain the details of a request form

HTTP Request

GET https://app.webdoxclm.com/api/v2/request_forms/<ID>

URL Parameters

Parameter Description
ID Request form id

Assign requesting group

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/request_forms/7994f6b6-bd85-4350-95c5-3fab4ae496ed/assign_requester_job' \
--header 'Authorization: Bearer 84afea467c63de04ccbe6f8f4859aad7f4ec8a60430046f96b5af601724f9cbf' \
--header 'Content-Type: application/json' \
--data-raw '{
    "rjob_ids": ["46896f04-1217-476a-87fa-3c6fc50ae936", "15f91198-0708-41e8-9659-935cf9f85251"]
}'

The above command returns JSON structured like this:

{
    "id": "7994f6b6-bd85-4350-95c5-3fab4ae496ed",
    "name": "prueba asignacion 4",
    "description": "mismo grupo asigna y atiende, solo distribuidor debe asignar",
    "job_ids": [
        "46896f04-1217-476a-87fa-3c6fc50ae936"
    ],
    "rjob_ids": [
        "46896f04-1217-476a-87fa-3c6fc50ae936",
        "15f91198-0708-41e8-9659-935cf9f85251"
    ],
    "assignable_ids": [
        "7390fd91-f3dc-43f8-a786-033c314ad0bd"
    ],
    "require_assignation": true,
    "cc_user_ids": [],
    "firm_attribute_ids": [],
    "attributes": [],
    "enable_automatic_name": false,
    "name_attribute_ids": [],
    "timestamp_on_name": false,
    "start_decision_workflow_trigger": false,
    "sla_request_units": 7,
    "creator": "John Doe",
    "last_activity": {
        "timestamp_str": "2021-03-26T14:27:49.665-03:00",
        "responsible": "John Doe"
    },
    "status": "published",
    "word_template_ids": [],
    "has_template": false
}

Allows you to assign to the template the groups of users that will be able to use the form to create requests

HTTP Request

PUT https://app.webdoxclm.com/api/v2/request_forms/<ID>/assign_requester_job

URL Parameters

Parameter Description
ID Request form id

Body Parameters

Parameter Required Validation Description
rjob_ids Must be character string IDs of requesting groups separated by comma (,)

Batch Signature Process Generation

List Batch Signature Processes

This endpoint allows obtaining all batch signature processes

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures?page=1&per_page=3'
--header 'Authorization: Bearer [TOKEN]'

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "ee6bc581-0263-4238-8090-9c2bf7ae32e8",
            "type": "batch_signature",
            "attributes": {
                "name": "Prueba 1 batch api",
                "status": "draft",
                "started_at": null,
                "created_at": "2023-11-18T13:25:59.883-03:00",
                "finished_at": null,
                "owner_name": "Felipe Gonzalez",
                "owner_company_area": ""
            },
            "relationships": {
                "batch_signature_approvals": {
                    "data": []
                }
            }
        },
        {
            "id": "e40e8856-876a-4e79-8efb-f576e98da4a6",
            "type": "batch_signature",
            "attributes": {
                "name": "Prueba 6 batch api",
                "status": "draft",
                "started_at": null,
                "created_at": "2023-11-18T16:20:10.002-03:00",
                "finished_at": null,
                "owner_name": "Felipe Gonzalez",
                "owner_company_area": ""
            },
            "relationships": {
                "batch_signature_approvals": {
                    "data": []
                }
            }
        },
        {
            "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
            "type": "batch_signature",
            "attributes": {
                "name": "Prueba 7 batch api",
                "status": "draft",
                "started_at": null,
                "created_at": "2023-11-18T16:26:50.186-03:00",
                "finished_at": null,
                "owner_name": "Felipe Gonzalez",
                "owner_company_area": ""
            },
            "relationships": {
                "batch_signature_approvals": {
                    "data": [
                        {
                            "id": "15",
                            "type": "batch_signature_approval"
                        }
                    ]
                }
            }
        }
    ],
    "meta": {
        "page": {
            "page": 1,
            "per_page": 20,
            "total_pages": 1,
            "total": 10
        }
    }
}

HTTP Request

GET https://app.webdoxclm.com/api/v2/batch_signatures?page=1&per_page=3

URL Parameters

Parameter Description
page Page number
per_page Number of items per page

Create Batch Signature Process

This endpoint allows creating a batch signature process

Supported formats

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json'
--data '{
    "batch_signature": {
        "name": "Prueba batch api",
        "signers_count": 1,
        "handwritten_enabled": false,
        "word_template_ids": ["a676f9b2-57da-405f-9c68-30617c5e730f"]
    }
}'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures

The above command returns JSON structured like this:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "name": "Prueba batch api",
            "status": "draft",
            "started_at": null,
            "created_at": "2023-11-18T16:26:50.186-03:00",
            "finished_at": null,
            "owner_name": "Felipe Gonzalez",
            "owner_company_area": ""
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [{}]
            }
        }
    }
}

Body Parameters

Parameter Required Validation Description
name Must be a text string Name
signers_count Must be an integer Number of signers
handwritten_enabled Boolean Enable handwritten signature
word_template_ids List of IDs Word template IDs

Body example

{ "batch_signature": { "name": "Prueba batch api", "signers_count": 1, "handwritten_enabled": false, "word_template_ids": ["a676f9b2-57da-405f-9c68-30617c5e730f"] } }

Get Batch Signature Process

This endpoint allows viewing the details of a batch signature process

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/<ID>' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json'

The above command returns JSON structured like this:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "name": "Prueba batch api",
            "status": "draft",
            "started_at": null,
            "created_at": "2023-11-18T16:26:50.186-03:00",
            "finished_at": null,
            "owner_name": "Felipe Gonzalez",
            "owner_company_area": ""
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [
                    {
                        "id": "15",
                        "type": "batch_signature_approval"
                    }
                ]
            }
        }
    }
}

HTTP Request

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>

URL Parameters

Parameter Description
ID Batch Process Identifier

Get Template to Add Signers

This endpoint allows obtaining an excel template to add signer information

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/get_signers_template' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/get_signers_template

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

Add Template with Signer Information

This endpoint allows adding an excel file (binary) with signer information

Supported formats

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/add_signers_template' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/add_signers_template

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "data": {
        "id": "268",
        "type": "attachment",
        "attributes": {
            "id": 268,
            "metadata": {
                "sheets": [
                    {
                        "total": 2
                    }
                ]
            },
            "attachable_type": "BatchSignature",
            "created_at": "2023-11-21T15:22:46.715-03:00"
        }
    }
}

Body Parameters

Parameter Required Validation Description
attachment Must be an excel file File

Validate Ceremony Creation

This endpoint allows validating if the objects corresponding to the ceremonies for all signers were created

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/create_envelopes_status' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/create_envelopes_status

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "status": "successful"
}

Start Batch Signature Ceremonies

This endpoint allows initiating the batch signature process

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/start' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/start

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "name": "Prueba batch api",
            "status": "approved",
            "started_at": null,
            "created_at": "2023-11-20T13:07:32.240-03:00",
            "finished_at": null,
            "owner_name": "Felipe Gonzalez",
            "owner_company_area": ""
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [
                    {
                        "id": "14",
                        "type": "batch_signature_approval"
                    }
                ]
            }
        }
    }
}

Cancel Batch Signature Ceremonies

This endpoint allows canceling all signature ceremonies of a process

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/cancel_ceremonies' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/cancel_ceremonies

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "data": {
        "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
        "type": "batch_signature",
        "attributes": {
            "id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
            "name": "Prueba api",
            "status": "completed",
            "started_at": "2023-11-21T15:34:41.173-03:00",
            "created_at": "2023-11-21T15:18:03.762-03:00",
            "finished_at": null,
            "owner_name": "User Prueba",
            "owner_company_area": "",
            "word_template_ids": [
                "01ec9e7a-4138-4d67-81ef-514304ffd0e4"
            ]
        },
        "relationships": {
            "batch_signature_approvals": {
                "data": [
                    {
                        "id": "f749005c-c24c-472a-a935-69cbd6bd15a9",
                        "type": "batch_signature_approval"
                    }
                ]
            }
        }
    }
}

List of Signers

This endpoint allows obtaining a list of signers for a process

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/signers'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

HTTP Request

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/signers

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "a3f860cc-f88a-4f56-bfc8-c22725f5ac89",
            "type": "signer",
            "attributes": {
                "status": "pending",
                "name": "User",
                "email": "[email protected]",
                "national_identification_number": "1000000000",
                "country_code": "CHL"
            }
        }
    ]
}

Delete All Signers

This endpoint allows deleting the list of signers for a process

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/signers/clear'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/signers/clear

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "a3f860cc-f88a-4f56-bfc8-c22725f5ac89",
            "type": "signer",
            "attributes": {
                "status": "pending",
                "name": "User",
                "email": "[email protected]",
                "national_identification_number": "1000000000",
                "country_code": "CHL"
            }
        }
    ]
}

List Approvers for a Process

This endpoint allows viewing the list of approvers for a process

curl --location --request GET 'https://app.webdoxclm.com/api/v2/batch_signatures/0b8b507a-1d77-4ab8-8ab6-ee3eddac028b/approvers'
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

HTTP Request

GET https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
            "type": "batch_signature_approval",
            "attributes": {
                "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
                "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d",
                "batch_signature_id": "0b8b507a-1d77-4ab8-8ab6-ee3eddac028b",
                "status": "pending",
                "reject_reason": null,
                "has_unattended_signature": true
            }
        }
    ]
}

Create Approver for a Process

This endpoint allows creating an approver for a process and has the option to indicate whether it is an unattended signer

Supported formats

[JSON]

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'
--data '{
    "batch_approver": {
        "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d",
        "has_unattended_signature": true
    }
}'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers

URL Parameters

Parameter Description
ID Batch Process Identifier

The above command returns JSON structured like this:

{
    "data": {
        "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
        "type": "batch_signature_approval",
        "attributes": {
            "id": "f8d9b427-31d9-4df9-af13-c19115eac50f",
            "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d",
            "batch_signature_id": "44e75911-f288-42a6-a55c-970e4e26f0fe",
            "status": "pending",
            "reject_reason": null,
            "has_unattended_signature": true
        }
    }
}

Body Parameters

Parameter Required Validation Description
user_id User ID created in the platform with identification number Approver user ID
has_unattended_signature Boolean Unattended signer

Body example

{ "batch_approver": { "user_id": "fc83d1a7-059f-4f02-a85b-38da6666359d", "has_unattended_signature": true } }

Delete Approver

This endpoint allows deleting an approver from a process

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers/f8d9b427-31d9-4df9-af13-c19115eac50f' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

DELETE https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers/<ID_APPROVER>

URL Parameters

Parameter Description
ID Batch Process Identifier
ID_APPROVER Approver ID

Approve Batch Signature Process

This endpoint allows approving a batch signature process

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers/f8d9b427-31d9-4df9-af13-c19115eac50f/approve_batch' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers/<ID_APPROVER>/approve_batch

URL Parameters

Parameter Description
ID Batch Process Identifier
ID_APPROVER Approver ID

Reject Batch Signature Process

This endpoint allows rejecting a batch signature process

curl --location --request POST 'https://app.webdoxclm.com/api/v2/batch_signatures/44e75911-f288-42a6-a55c-970e4e26f0fe/approvers/f8d9b427-31d9-4df9-af13-c19115eac50f/reject_batch' \
--header 'Authorization: Bearer 82bcc115cdec9594f9d1b47c30aab0de94daac9b26bd7333884d2e37ed0f6883' \
--header 'Content-Type: application/json'

HTTP Request

POST https://app.webdoxclm.com/api/v2/batch_signatures/<ID>/approvers/<ID_APPROVER>/reject_batch

URL Parameters

Parameter Description
ID Batch Process Identifier
ID_APPROVER Approver ID

Signature Providers

Available signature providers for current customer

Get all signature providers

curl --location --request GET 'https://app.webdoxclm.com/api/v2/signature_providers' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

[
    {
        "id": 1,
        "name": "portal"
    }
]

Endpoint to retrieve all signature providers in the current customer.

HTTP Request

GET https://app.webdoxclm.com/api/v2/signature_providers

Document

Document management and visualization.

Get Documents

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

[
    {
        "id": "c2fa25ce9e7a46a9838cdedfd8912ad0",
        "name": "verPdf.pdf",
        "created_at": "2021-03-05T18:44:24.425-03:00",
        "updated_at": "2021-03-05T18:44:25.457-03:00",
        "document_end_date": null,
        "modified_at": "2021-03-05T18:44:24.481-03:00"
    }
]

Endpoint to retrieve all documents the user can access using filters.

HTTP Request

GET https://app.webdoxclm.com/api/v2/documents?page=1&per_page=10&filters[subject_name]=Word

Parameters query string

XX can take the following values:

Value Description  Type
name Document name  String
client_name Legal Person  String
subject_name Type of document  String
topic_name Topic  String
dynamic_attribute_XXX XXX must be document attribute id  String
folio Folio  Numeric
creator_name User who created document  String
created_at_before Created before [YYYY-mm-dd]  Date
created_at_after Created after [YYYY-mm-dd]  Date

Get Specific Document

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents/c2fa25ce9e7a46a9838cdedfd8912ad0' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

{
    "id": "c2fa25ce9e7a46a9838cdedfd8912ad0",
    "name": "verPdf.pdf",
    "folio": 2,
    "created_at": "2021-03-05T18:44:24.425-03:00",
    "updated_at": "2021-03-05T18:44:25.457-03:00",
    "document_end_date": null,
    "modified_at": "2021-03-05T18:44:25.464-03:00",
    "attachment_file_name": "document_1614980664.pdf",
    "attachment_file_size": 57826,
    "created_by": "676c632216094123a65b9de68a672be3",
    "creator_name": "Felipe Gonzalez",
    "extension": null,
    "file_ext": "pdf",
    "container_name": "TMP",
    "client_name": null,
    "topic_name": null,
    "subject_name": null,
    "last_office_document_version_user": "--",
    "office_document_version_number": [],
    "expiring_status": "no_expiring",
    "dynamic_attributes": [
        {
            "id": 1,
            "name": "Nuevo document attribute",
            "value": null
        }
    ],
    "collaborators": [],
    "office_document_versions": [],
    "last_office_document_version_number": null,
    "observations": null,
    "workflow_id": null
}

Endpoint to retrieve a specific document

HTTP Request

GET https://app.webdoxclm.com/api/v2/documents/<ID>

URL Parameters

Parameter Description
ID The ID of the document to retrieve

Create Document

curl --location --request POST 'https://app.webdoxclm.com/api/v2/documents' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"' \
--form 'document[name]="doc prueba 2"' \
--form 'document[topic_id]="1"' \
--form 'document[subject_id]="1"' \
--form 'document[creator_name]="Jane Doe"' \
--form 'document[in_repository]="true"' \
--form 'document[status]="versioning"' \
--form 'document[attachment]=@"/Users/JohnDoe/Downloads/doc prueba carga.docx"'
curl --location --request POST 'https://app.webdoxclm.com/api/v2/documents' \
--header 'Authorization: Bearer 1a63f38c81240bbe2e07de5440ad19691cfef98b0dd4e24fd6f8bf454d66ff61' \
--form 'origin="template"' \
--form 'word_template_id="b4208b73-9aff-4a54-8ade-8ec792ee7835"'
--form 'document[name]="doc prueba 2"' \
--form 'document[topic_id]="1"' \
--form 'document[subject_id]="1"' \
--form 'document[creator_name]="Jane Doe"' \
--form 'document[in_repository]="true"' \
--form 'document[status]="versioning"' \
--form 'document[attachment]=@"/Users/JohnDoe/Downloads/doc prueba carga.docx"'

The above command returns JSON structured like this:

{
    "id": "7306db3b88a546c0a510a498bd2824c1",
    "name": "doc prueba 2",
    "folio": 17,
    "created_at": "2021-03-11T19:28:53.203-03:00",
    "updated_at": "2021-03-11T19:28:53.203-03:00",
    "document_end_date": null,
    "modified_at": "2021-03-11T19:28:53.261-03:00",
    "attachment_file_name": "document_1615501733.docx",
    "attachment_file_size": 23185,
    "created_by": "95edb20421294b60bb59a170b0dc536c",
    "creator_name": "John Doe",
    "extension": null,
    "file_ext": "docx",
    "container_name": "TMP",
    "client_name": null,
    "topic_name": "test asunto",
    "subject_name": "test1",
    "last_office_document_version_user": "John Doe",
    "office_document_version_number": [],
    "expiring_status": "no_expiring",
    "dynamic_attributes": [
        {
            "id": "29360fee-6f86-496d-8d65-9a3cbe5a0c6b",
            "name": "Nuevo document attribute",
            "value": null
        },
        {
            "id": "70004bc2-c09d-416a-822d-ef2d575713e5",
            "name": "atributo 2",
            "value": null
        }
    ],
    "collaborators": [],
    "office_document_versions": [
        {
            "id": "d8aac2835aed4db28a1d7a436cd180f2",
            "document_id": "7306db3b88a546c0a510a498bd2824c1",
            "user_id": 1,
            "created_at": "2021-03-11T19:28:55.155-03:00",
            "updated_at": "2021-03-11T19:28:55.155-03:00",
            "modified_at": "2021-03-11T19:28:55.191-03:00",
            "version_number": 1,
            "document_url": "https://preview.webdoxapis.com/webdav/9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/d8aac2835aed4db28a1d7a436cd180f2/fe1adfc23755724a65850698af3f6f56/office_document_17_version_1.docx",
            "file_ext": "docx",
            "file_in_process": true,
            "icon_file_class": "docx-file",
            "lock": null,
            "owner_id": "95edb20421294b60bb59a170b0dc536c",
            "owner_name": "John Doe",
            "url": "http://testserver:8080/9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/d8aac2835aed4db28a1d7a436cd180f2/office_document_17_version_1.docx",
            "ext": "docx",
            "pdf_file_file_name": null,
            "html_file_file_name": null,
            "collaborators": [
                {
                    "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                    "first_name": "John",
                    "last_name": "Doe",
                    "email": "[email protected]",
                    "job_ids": [
                        2
                    ],
                    "blocked": false,
                    "external_id": ""
                }
            ],
            "is_deleted": false,
            "deleted_at": null,
            "webdav_document_url": "https://preview.webdoxapis.com/webdav//9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/d8aac2835aed4db28a1d7a436cd180f2/fe1adfc23755724a65850698af3f6f56/office_document_17_version_1.docx",
            "lawgeex_status": null
        }
    ],
    "last_office_document_version_number": 1,
    "observations": null,
    "workflow_id": null
}

Endpoint to create a document

HTTP Request

POST https://app.webdoxclm.com/api/v2/documents

Body Parameters

Parameter Required Validation Description
document Must be a Hash
document[name] Optional String Name of document
document[attachment] Optional File File to upload
document[client_id] Optional Integer ID Client of document
document[topic_id] Optional Integer ID Topic of document
document[subject_id] Optional Integer ID Subject of document
document[container_id] Optional Integer ID Container of document
document[dynamic_attribute_XXXX] Optional String Dynamic attribute for document
document[document_date] Optional DateTime Contract date
document[document_end_date] Optional DateTime Expiration date
document[legal_name] Optional String Contract name
document[folio] Optional Integer Contract folio
document[creator_name] Optional String User who create the contract
document[use_automatic_extension] Optional Boolean Automatic extension for contract
document[automatic_finish] Optional Boolean Finish contract automatically
document[status] Optional ['versioned', 'versioning'] Document could be versioning or versioned
document[in_repository] Boolean [true, false] Classify document in repository
document[observations] Optional String Observations regarding the document
document[workflow_id] Optional Workflow Id String Specify if you want to associate the document to a workflow
document[word_template_id] Optional String Template id, when the document source is a template

Body example

form 'document[name]="doc prueba 2"' form 'document[topic_id]="1"' form 'document[subject_id]="1"' form 'document[creator_name]="Jane Doe"' form 'document[in_repository]="true"' form 'document[status]="versioning"' form 'document[attachment]=@"/Users/JohnDoe/Downloads/doc prueba carga.docx"'

Update Document

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/documents/11' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"' \
--form 'document[name]=updated wololo' \
--form 'document[attachment]=Path_to_file/document.docx'

The above command returns JSON structured like this:

{
  "id": "d5eff4f9587040d88077963f34a58f78",
  "name": "INCORPORACIONES-EDITABLE-CONSORCIO (1).pdf",
  "folio": 4,
  "created_at": "2021-03-04T18:00:03.794-03:00",
  "updated_at": "2021-03-09T17:24:00.437-03:00",
  "document_end_date": null,
  "modified_at": "2021-03-09T17:24:00.228-03:00",
  "attachment_file_name": "document_1614891603.pdf",
  "attachment_file_size": 553857,
  "created_by": "95edb20421294b60bb59a170b0dc536c",
  "creator_name": "John Doe",
  "extension": null,
  "file_ext": "pdf",
  "container_name": "TMP",
  "client_name": null,
  "topic_name": null,
  "subject_name": null,
  "last_office_document_version_user": "--",
  "office_document_version_number": [],
  "expiring_status": "no_expiring",
  "dynamic_attributes": [
      {
          "id": "29360fee-6f86-496d-8d65-9a3cbe5a0c6b",
          "name": "Nuevo document attribute",
          "value": "Atributo 1"
      },
      {
          "id": "70004bc2-c09d-416a-822d-ef2d575713e5",
          "name": "atributo 2",
          "value": "it works!"
      }
  ],
  "collaborators": [],
  "office_document_versions": [],
  "last_office_document_version_number": null,
  "observations": null,
  "workflow_id": null
}

Endpoint to update a document

HTTP Request

PUT https://app.webdoxclm.com/api/v2/documents/<ID>

URL Parameters

Parameter Description
ID The ID of the document

Body Parameters

Parameter Required Validation Description
document Must be a Hash
document[name] Optional String Name of document
document[attachment] Optional File File to upload
document[client_id] Optional Integer ID Client of document
document[topic_id] Optional Integer ID Topic of document
document[subject_id] Optional Integer ID Subject of document
document[container_id] Optional Integer ID Container of document
document[dynamic_attribute_XXXX] Optional String Dynamic attribute for document
document[document_date] Optional DateTime Contract date
document[document_end_date] Optional DateTime Expiration date
document[legal_name] Optional String Contract name
document[folio] Optional Integer Contract folio
document[creator_name] Optional String User who create the contract
document[use_automatic_extension] Optional Boolean Automatic extension for contract
document[automatic_finish] Optional Boolean Finish contract automatically
document[status] Optional ['versioned', 'versioning'] Document could be versioning or versioned
document[in_repository] Boolean [true, false] Classify document in repository
document[observations] Optional String Observations regarding the document
document[word_template_id] Optional String Template id, when the document source is a template

Download

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents/c2fa25ce9e7a46a9838cdedfd8912ad0/download' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

{
    "url": "https://storage.googleapis.com/webdox-portal-dev/documents/original_pdfs/000/000/004/original/document-4-original-pdf-file-d5eff4f9587040d88077963f34a58f78.pdf?GoogleAccessId=portal-dev-storage@webdox-build-dev.iam.gserviceaccount.com&Signature=nKLxJVjvID1VmBRxFuDontylL4H4hH%2FfsdfgdfgRr0mgWcpSum%2BsB%SDFHfgshsdh%0AtpOY2TPj8wwyI%2BtYfPybm34MwQw2DiLT6Mcrvj%2BSz%2Bz9dBixcIOym4qPYcLK%0ACNVGDj0evXLqcvlSLcoqatXCzcC%2BgTs4K9yBMAX0g1tzprfUYbi82fFoanNC%0AyYowEtnWF5iSoy5KbhFcutbugMb6nweyh1biYx4fIEMfPaGSC3JetCjvuZcC%0AmiiAXIAJgCj1pVq0mBcKAByG7OThJ2wtyh53sK4%2B5DAqOxpRqSV%2FPK4vdNqC%SDFGdsfg53q$%DFSGafgDAGFData%3D%3D&Expires=1615217786"
}

Returns the specified document file as file or json depending on content type

Supported formats

[JSON, HTML]

HTTP Request

GET https://app.webdoxclm.com/api/v2/documents/<ID>/download

URL Parameters

Parameter Description
ID The ID of the document

Get all Office document versions

curl --location --request GET 'https://app.webdoxclm.com/api/v2/documents/da80eb55260a4feba0ca63c02d5f7c44/versions' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

[
    {
        "id": "da80eb55260a4feba0ca63c02d5f7c44",
        "document_id": "fbfaf3be2a10443cbed2747c3022cce0",
        "user_id": 1,
        "created_at": "2021-03-11T17:09:51.603-03:00",
        "updated_at": "2021-03-11T17:10:14.696-03:00",
        "modified_at": "2021-03-11T17:09:51.919-03:00",
        "version_number": 1,
        "document_url": "https://preview.webdoxapis.com/webdav//9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/da80eb55260a4feba0ca63c02d5f7c44/1096c161c07ea46e80a917cc0e126df9/office_document_14_version_1.docx",
        "file_ext": "docx",
        "file_in_process": true,
        "icon_file_class": "docx-file",
        "lock": null,
        "owner_id": "95edb20421294b60bb59a170b0dc536c",
        "owner_name": "John Doe",
        "url": "http://localhost:8080/9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/da80eb55260a4feba0ca63c02d5f7c44/office_document_14_version_1.docx",
        "ext": "docx",
        "pdf_file_file_name": null,
        "html_file_file_name": null,
        "collaborators": [
            {
                "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
                "first_name": "John",
                "last_name": "Doe",
                "email": "[email protected]",
                "job_ids": [
                    2
                ],
                "blocked": false,
                "external_id": ""
            }
        ],
        "is_deleted": false,
        "deleted_at": null,
        "webdav_document_url": "https://preview.webdoxapis.com/webdav//9992982fa73a431d82ec82143621b19f/a5c05c36b0e34f64bbb9a85853f92d6b/da80eb55260a4feba0ca63c02d5f7c44/1096c161c07ea46e80a917cc0e126df9/office_document_14_version_1.docx",
        "lawgeex_status": null
    },
    ...
]

Endpoint to get folders with the number of documents for a specified path and user. If no path is specified, returns base level folders

HTTP Request

GET https://app.webdoxclm.com/api/v2/documents/<ID>/versions

URL Parameters

Parameter Description
ID The ID of the document

Create document with tokens

curl --location 'https://app.webdoxclm.com/api/v2/documents/create_with_token' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
    "template_id": "<ID>",
    "tokens": [{"token": "document", "value": "Prueba"}, {"token": "achieve", "value": "Prueba2"}],
    "table_data": {
        "position": 0,
        "rows": [
            {"cells": ["4", "10", "2024", "Material", "10", "10", "10", "10", "10"]},
            {"cells": ["5", "20", "2024", "Material", "20", "520", "20", "20", "20"]},
            {"cells": ["", "", "", "", "", "", "", "Total", "2000"]}
            ]
    }
}'

The above command returns JSON structured like this:

{
    "id": "98e0eededd19468186da9dbf07c24e75",
    "name": "plantilla 1-2021-04-09T11-05-20-04-00.docx",
    "folio": 143,
    "created_at": "2021-04-09T11:05:21.049-04:00",
    "updated_at": "2021-04-09T11:05:22.901-04:00",
    "document_end_date": null,
    "modified_at": "2021-04-09T11:05:22.743-04:00",
    "attachment_file_size": 9721,
    "created_by": "95edb20421294b60bb59a170b0dc536c",
    "creator_name": "John Doe",
    "extension": null,
    "file_ext": "docx",
    "last_office_document_version_user": "John Doe",
    "office_document_version_number": [
        "98e0ee-v1"
    ],
    "last_office_document_version_url": "last version url"
    "download_url": "main document url"
}}

Allows creating documents with predefined values using tokens from a template and adding rows to tables in the document

HTTP Request

POST https://app.webdoxclm.com/api/v2/documents/create_with_token

Body Parameters

Parameter Required Validation Description
template_id Mandatory string Id of the template to use
tokens Hashes array Contains the tokens and values ​​to assign
token Mandatory string Token name
value Mandatory string Value to be assigned to the token in the document
table_data Optional hash Contains information about the table to be modified
position Mandatory integer Table number. Starts at 0
rows Array of hashes Contains the columns of the table
cells Mandatory array of strings Contains the rows to be added to the table. For each text separated by a single comma, a value is added to a column

Relations

Allows you to link documents

List Relations

curl --location --request GET 'https://app.webdoxclm.com/api/v2/relations' \
--header 'Authorization: Bearer c3aee39ac76970dbe72ec2a2741158a536dfd945b81109abacdd9fcee4846c2b'

The above command returns JSON structured like this:

[
  {
    "id": "e612f52c-ebed-46e5-8a22-cccd63837bc8",
    "name": "Test Relation",
    "documents": [
      {
        "id": "f80f6d83143344c1b2223e5e97a4b5aa",
        "name": "Very_Important_Document.pdf",
        "type": "document"
      },
      {
        "id": "3bce892b3d5b4de7b6e0b32811e82fef",
        "name": "Very_Important_Annex.docx",
        "type": "document"
      }
    ]
  }
]

Allows you to display all relations

HTTP Request

GET https://app.webdoxclm.com/api/v2/relations

Create Relations

curl --location --request POST 'https://app.webdoxclm.com/api/v2/relations' \
--header 'Authorization: Bearer 7825ba18963eacb0192363c68864587fe28b26ffeb0a7db09ffec7f2b54cbb21' \
--header 'Content-Type: application/json' \
--data '{
  "name": "Test Relation",
  "document_ids": ["f80f6d83143344c1b2223e5e97a4b5aa", "3bce892b3d5b4de7b6e0b32811e82fef"]
}'

The above command returns JSON structured like this:

{
  "id": "e612f52c-ebed-46e5-8a22-cccd63837bc8",
  "name": "Test Relation",
  "documents": [
    {
      "id": "f80f6d83143344c1b2223e5e97a4b5aa",
      "name": "Very_Important_Document.pdf",
      "type": "document"
    },
    {
      "id": "3bce892b3d5b4de7b6e0b32811e82fef",
      "name": "Very_Important_Annex.docx",
      "type": "document"
    }
  ]
}

Allows you to create new relations between documents

HTTP Request

POST https://app.webdoxclm.com/api/v2/relations

Body Parameters

Parameter Required Validation Description
name Must be a text string Relation name
document_ids Must be an array of ids List of document ids

Update Relations

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/relations/<ID>' \
--header 'Authorization: Bearer 7825ba18963eacb0192363c68864587fe28b26ffeb0a7db09ffec7f2b54cbb21' \
--header 'Content-Type: application/json' \
--data '{
  "name": "Test Relation Updated",
  "document_ids": ["f80f6d83143344c1b2223e5e97a4b5aa", "3bce892b3d5b4de7b6e0b32811e82fef", "81dc7999f1e04bc098b7a27765ef04c1"]
}'

The above command returns JSON structured like this:

{
  "id": "31a11a92-9698-4d25-8159-02d49a88a072",
  "name": "Test Relation Updated",
  "documents": [
    {
      "id": "f80f6d83143344c1b2223e5e97a4b5aa",
      "name": "Very_Important_Document.pdf",
      "type": "document"
    },
    {
      "id": "3bce892b3d5b4de7b6e0b32811e82fef",
      "name": "Very_Important_Annex.docx",
      "type": "document"
    },
    {
      "id": "81dc7999f1e04bc098b7a27765ef04c1",
      "name": "UPDATED_Very_Important_Document.pdf",
      "type": "document"
    }
  ]
}

Allows you to update a relation

HTTP Request

PUT https://app.webdoxclm.com/api/v2/relations/<ID>

URL Parameters

Parameter Description
ID Relation Id

Body Parameters

Parameter Required Validation Description
name Must be a text string Relation name
document_ids Must be an array of ids List of document ids

Delete Relations

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/relations/<ID>' \
--header 'Authorization: Bearer 58ec42d67b888d6128ddbe6deecc6873fc4f878ea3882663ca40b9788e49b26b'

The above command returns JSON structured like this:

Relación eliminado(a). / Relation eliminated.

Allows you to delete relations

HTTP Request

DELETE https://app.webdoxclm.com/api/v2/relations/<ID>

URL Parameters

Parameter Description
ID Relation Id

Document Attribute

Attributes management for creating, updating and removing. Attributes are used to group documents into folders. Reference to Document.

Get all document attributes

curl --location --request GET 'https://app.webdoxclm.com/api/v2/document_attributes' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99'

The above command returns JSON structured like this:

[
    {
        "id": "client_id",
        "name": "client",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "acbfa2c4-2b2a-4860-a55e-933a40596a46",
                "name": "client 1"
            },
            {
                "id": "6fc2a85c-092c-4cc6-970e-c6f75c78ce31",
                "name": "client 2"
            }
        ]
    },
    {
        "id": "topic_id",
        "name": "topic",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "18f102b0-2d2f-4a2c-a663-b278b887bdda",
                "name": "topic 1"
            }
        ]
    },
    {
        "id": "subject_id",
        "name": "subject",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "14bb6d9e-f335-4cdb-939f-90859f94ee97",
                "name": "subject 1"
            }
        ]
    },
    {
        "id": "container_id",
        "name": "container",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "be70f3ba-5a1d-49ae-9231-6746cb455356",
                "name": "TMP"
            },
            {
                "id": "4cf4310f-e8a8-4080-b534-30730fc6567b",
                "name": "2"
            }
        ]
    },
    {
        "id": "clause_type_id",
        "name": "clause_type",
        "type_cd": 3,
        "type": "list",
        "classifiable": true,
        "static": true,
        "options": [
            {
                "id": "60e1f767-ed27-4511-9e48-2e79fe092aeb",
                "name": "1"
            }
        ]
    },
    {
        "id": "29360fee-6f86-496d-8d65-9a3cbe5a0c6b",
        "name": "New document attribute",
        "type_cd": 1,
        "type": "string",
        "static": false,
        "ners": [],
        "description": null,
        "classifiable": true
    }
]

Endpoint to get a list all the dynamic attributes defined on the authenticated user.

HTTP Request

GET https://app.webdoxclm.com/api/v2/document_attributes?all=true

URL Parameters

Parameter Description
all Get every document attribute, even the unclassifiable

Create Document attribute

curl --location --request POST 'https://app.webdoxclm.com/api/v2/document_attributes' \
--header 'Authorization: Bearer 30d417ada164f25a0d7e5bcfb9485c2d220d22d9a7ccb97cca4af8488f05d6d0' \
--header 'Content-Type: application/json' \
--data-raw '{
    "document_attribute": {
        "name": "tipo de contrato 2",
        "type_cd": "1"
    },
    "classifiable": true
}'

The above command returns JSON structured like this:

{
    "id": 1,
    "name": "tipo de contrato",
    "type_cd": 1,
    "type": "string",
    "static": false,
    "classifiable": true
}

Endpoint to create a document attribute.

HTTP Request

POST https://app.webdoxclm.com/api/v2/document_attributes

Body Parameters

Parameter Required Validation Description
name Optional String Name for document attribute
type_cd Optional Integer See Admissible parameters list below
classifiable Optional Boolean It sets if attribute is classifiable

Admissible parameters list

Parameter Description
0 Numeric
1 String
2 Date
3 Values list
4 Boolean (true / false)
5 Multiple
6 Structure
7 Numeric
8 File
9 Email
10 RUT
11 Long text
12 Chilean region
13 Chilean commune
14 Field separator ('comma', 'tab', 'pipe symbol')

Body example

{ "name": "test api docs attributes", "type_cd": 1, "classifiable": true }

Update document attribute

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/document_attributes/1' \
--header 'Authorization: Bearer 2b8fe65559196a24d1c39033bfad826b053f7d41167b2b439e711f7236dc23f0' \
--header 'Content-Type: application/json' \
--data-raw '{
    "document_attribute": {
        "name": "updated name",
        "type_cd": "1"
    }
}'

The above command returns JSON structured like this:

{
    "id": 1,
    "name": "updated name",
    "type_cd": 1,
    "type": "string",
    "static": false,
    "classifiable": true
}

Endpoint to update a dynamic attribute. Receives a dynamic attribute and the new parameters and returns the updated dynamic attribute.

PUT https://app.webdoxclm.com/api/v2/document_attributes/:id

URL Parameters

Parameter Description
ID The ID of the document attribute

Body Parameters

Parameter Required Validation Description
name Optional String Name for document attribute
type_cd Optional Integer See Admissible parameters list below

Admissible parameters list

Parameter Description
0 Numeric
1 String
2 Date
3 Values list
4 Boolean (true / false)
5 Multiple
6 Structure
7 Numeric
8 File
9 Email
10 RUT
11 Long text
12 Chilean region
13 Chilean commune
14 Field separator ('comma', 'tab', 'pipe symbol')

Body example

{ "document_attribute": { "name": "update name" } }

Word Template

Word Templates management for creating,editing and deleting. Reference to Document.

Get all word templates

curl --location --request GET 'https://app.webdoxclm.com/api/v2/word_templates'  \
 --header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38'

The above command returns JSON structured like this:

[
    {
        "id": "2b3d767a-f695-4967-8c61-ba00c97e1ac4",
        "name": "token loreal",
        "subject_id": "bc1ed6d6-a645-4749-a32c-a292772f11fa",
        "tokens_json": [
            {
                "token": "Nombre Colaborador"
            },
            {
                "token": "RUT Colaborador"
            },
            {
                "token": "Mail Colaborador"
            },
            {
                "token": "Division"
            }
        ]
    },
    ...
]

Endpoint to retrieves all word templates.

HTTP Request

GET https://app.webdoxclm.com/api/v2/word_templates

Get a Word Tempalte

curl --location --request GET 'https://app.webdoxclm.com/api/v2/word_templates/<ID>' \
--header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38'

The above command returns JSON structured like this:

{
    "id": 1,
    "name": "Word Template",
    "subject_id": "bc1ed6d6-a645-4749-a32c-a292772f11fa",
    "tokens_json": [
        {
            "token": "Nombre Colaborador"
        },
        {
            "token": "RUT Colaborador"
        },
        {
            "token": "Mail Colaborador"
        },
        {
            "token": "Division"
        }
    ]
}

This Endpoint returns the information of a given Word Template

HTTP Request

GET https://app.webdoxclm.com/api/v2/word_templates/ID

Create word templates

curl --location --request POST 'https://app.webdoxclm.com/api/v2/word_templates' \
--header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38' \
--form 'word_template[name]=TEmplate word' \
--form 'word_template[subject_id]=1' \
--form 'word_template[attachment]=Path_to_file/Template.docx'

The above command returns JSON structured like this:

{
    "id": "3714a6c8-f7e5-4e48-8cb8-9540156069bb",
    "name": "test",
    "subject_id": "bc1ed6d6-a645-4749-a32c-a292772f11fa",
    "tokens_json": [
        {
            "token": "Nombre Colaborador"
        },
        {
            "token": "RUT Colaborador"
        },
        {
            "token": "Mail Colaborador"
        },
        {
            "token": "Division"
        }
    ]
}

Endpoint to create a word template

HTTP Request

POST https://app.webdoxclm.com/api/v2/word_templates

Body Parameters

Parameter Required Validation Description
word_template Must be a hash
name Must be a String Name of word template
subject_id Must be an UUID ID of subject for word template
attachment Must be a File File for word template

Body example

--form 'word_template[name]=Template word' \ --form 'word_template[subject_id]=bc1ed6d6-a645-4749-a32c-a292772f11fa' \ --form 'word_template[attachment]=Path_to_file/Template.docx'

Delete Word template

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/word_templates/<ID>' \
--header 'Authorization: Bearer 0b8ff3ad1b916144b9e1c7511b485396fce4b893e8c80d0cee763e764058bc38'

This endpoint deletes a Word template

HTTP Request

DELETE https://app.webdoxclm.com/api/v2/api/word_templates/<ID>

Group

This resource represent group.

Get list groups

curl --location --request GET 'https://app.webdoxclm.com/api/v2/groups' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

[
    {
        "id": 2,
        "name": "all"
    },
    {
        "id": 3,
        "name": "new group"
    },
    ...
]

This endpoint retrieves all groups.

HTTP Request

GET https://app.webdoxclm.com/api/v2/groups

Create groups

curl --location --request POST 'https://app.webdoxclm.com/api/v2/groups' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--header 'Content-Type: application/json' \
--data-raw '{"name": "new group 3"}'

The above command returns JSON structured like this:

{
    "id": 4,
    "name": "new group 3"
}

Endpoint to create a group.

HTTP Request

POST https://app.webdoxclm.com/api/v2/groups

Body Parameters

Parameter Required Validation Description
name Must be a String Name of group

Body example

{ "name": "new group" }

Get group

curl --location --request GET 'https://app.webdoxclm.com/api/v2/groups/ab4a4e02-c079-4671-aade-782d7faee5e4' \
--header 'Authorization: Bearer b8e267b3dcb49bff102151bf04c7250b9320865bbfc63f7a4328f317feb5845c'

The above command returns JSON structured like this:

{
    "group": {
        "id": "ab4a4e02-c079-4671-aade-782d7faee5e4",
        "name": "webdoxlocal"
    },
    "users": [
        {
            "id": "74d8dddb-fd1e-45d5-b90b-dac42f08a703",
            "first_name": "Felipe",
            "last_name": "Gonzalez",
            "email": "[email protected]"
        }
    ]
}

Retrieves group information

HTTP Request

PUT https://app.webdoxclm.com/api/v2/groups/<ID>

URL Parameters

Parameter Description
ID The ID of the group to retrieve.

Update Group

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/groups' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--header 'Content-Type: application/json' \
--data-raw '{
    "group":
        {
            "name": "new group editado bbb",
            "user_ids": "77c5a0b5-4260-4922-8589-7a58c4467ba7,2125752d-39cc-4033-9964-1145a8c13db3,040b0e08-deb7-41af-9af8-b4dc24830e68"
        }
}'

The above command returns JSON structured like this:

{
    "group": {
        "id": "fe02ff6f-9fa2-4a72-a2e9-a817653f0626",
        "name": "new group editado bbb"
    },
    "users": [
        {
            "id": "040b0e08-deb7-41af-9af8-b4dc24830e68",
            "first_name": "User",
            "last_name": "Test",
            "email": "[email protected]"
        },
        {
            "id": "77c5a0b5-4260-4922-8589-7a58c4467ba7",
            "first_name": "luis",
            "last_name": "tapia",
            "email": "[email protected]"
        },
        {
            "id": "2125752d-39cc-4033-9964-1145a8c13db3",
            "first_name": "kuis",
            "last_name": "tapia",
            "email": "[email protected]"
        }
    ]
}

This endpoint updates a group.

HTTP Request

PUT https://app.webdoxclm.com/api/v2/groups/<ID>

URL Parameters

Parameter Description
ID The ID of the group to update.

Body Parameters

Parameter Required Validation Description
name Must be a string. Name of the group
user_ids Optional string User ids separated by comma

Body example

{ "group": { "name": "new group editado bbb", "user_ids": "77c5a0b5-4260-4922-8589-7a58c4467ba7,2125752d-39cc-4033-9964-1145a8c13db3,040b0e08-deb7-41af-9af8-b4dc24830e68" } }

Subject

Subject type management for creating, updating and removing. Reference to Document.

Create Subject

curl --location --request POST 'https://app.webdoxclm.com/api/v2/subjects' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99"' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Subject Test Api",
}'

The above command returns JSON structured like this:

{
    "id": "9dad2f83-da6c-4010-9978-04fc5de779fb",
    "name": "Subject Test Api"
}

Endpoint to create a new subject

HTTP Request

POST https://app.webdoxclm.com/api/v2/subjects

Body Parameters

Parameter Required Validation Description
name Must be a String name of subject
tag Optional String Tag for subject

Endpoint to create a new subject

HTTP Request

POST https://app.webdoxclm.com/api/v2/subjects

Body Parameters

Parameter Required Validation Description
name Must be a String name of subject
tag Optional String Tag for subject

Body example

{ "name": "subject test", "tag": "subj" }

Update Subject

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/subjects/<ID>' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99"' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "subject test api 2"
}'

The above command returns JSON structured like this:

{
    "id": "9dad2f83-da6c-4010-9978-04fc5de779fb",
    "name": "Subject test api 2"
}

Endpoint to update a subject

PUT https://app.webdoxclm.com/api/v2/subjects/<ID>

URL Parameters

Parameter Description
ID The ID of the subject to update

Body Parameters

Parameter Required Validation Description
name Must be a String name of subject
tag Optional String Tag for subject

User

User management for creating, updating and deleting.

Get all users

curl --location --request GET 'https://app.webdoxclm.com/api/v2/users' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

[
    {
        "id": "59db41d9-bcf4-4e7c-9330-830d1ca95c52",
        "first_name": "John",
        "last_name": "Doe",
        "email": "[email protected]",
        "job_ids": [
            2
        ],
        "blocked": false,
        "external_id": "",
        "profile_ids": []
    },
    {
        "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "[email protected]",
        "job_ids": [],
        "blocked": false,
        "external_id": null,
        "profile_ids": []
    },
    ...
]

Endpoint to retrieve all users from the customer of the current authenticated user.

HTTP Request

GET https://app.webdoxclm.com/api/v2/users

Get user data

curl --location --request GET 'https://app.webdoxclm.com/api/v2/users/<ID>' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

{
    "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "[email protected]",
    "job_ids": [],
    "blocked": false,
    "external_id": null,
    "profile_ids": []
}

It allows to obtain the data of a specific user

HTTP Request

GET https://app.webdoxclm.com/api/v2/users/<ID>

URL Parameters

Parameter Description
ID User ID

Create user

curl --location --request POST 'https://app.webdoxclm.com/api/v2/users \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--data-raw '{
    "user": {
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "[email protected]"
        "external_id": 100,
        "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
    }
}'

The above command returns JSON structured like this:

{
  "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "[email protected]",
  "job_ids": [],
  "blocked": false,
  "external_id": "100",
  "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
}

Endpoint to create a new user on the customer of the current authenticated user.

HTTP Request

POST https://app.webdoxclm.com/api/v2/users

Body Parameters

Parameter Required Validation Description
user Must be a Hash
user[external_id] Must be a String ID for external endpoints
user[first_name] Must be a String Name of user
user[last_name] Must be a String Last name of user
user[email] Must be a String Email of user
user[job_ids] Optional array of uuids Jobs the user has
user[blocked] Optional Boolean Blocks user if true
user[profile_ids] Optional array of uuids Profiles that the user will have
skip_confirmation Optional Boolean It allows avoiding the sending of a confirmation email to the user

Body example

{ "user": { "first_name": "Jane", "last_name": "Doe", "email": "[email protected]", "job_ids": ["15f91198-0708-41e8-9659-935cf9f85251"], "blocked": false, "external_id": "100" } skip_confirmation: false }

Update user

curl --location --request PUT 'https://app.webdoxclm.com/api/v2/users/<ID>' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66' \
--data-raw '{
    "user": {
        "first_name": "Test",
        "last_name": "User",
        "external_id": 150.
        "job_ids": ["15f91198-0708-41e8-9659-935cf9f85251"],
        "blocked": false,
        "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
    }
}'

The above command returns JSON structured like this:

{
    "id": "ba902463-0c68-4c89-804f-1bd1952ab5f9",
    "first_name": "Test",
    "last_name": "User",
    "email": "[email protected]",
    "job_ids": ["15f91198-0708-41e8-9659-935cf9f85251"],
    "blocked": false,
    "external_id": "150",
    "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
}

This endpoint allows the updating of user data identified with the supplied ID

HTTP Request

PUT https://app.webdoxclm.com/api/v2/users/<ID>

URL Parameters

Parameter Description
ID User ID

Body Parameters

Parameter Required Validation Description
user Must be a Hash
user[external_id] Must be a String ID for external endpoints
user[first_name] Must be a String Name of user
user[last_name] Must be a String Last name of user
user[email] Must be a String Email of user
user[job_ids] Optional array of uuids Jobs the user has
user[blocked] Optional Boolean Blocks user if true
user[profile_ids] Optional array of uuids Profiles that the user will have
skip_confirmation Optional Boolean It allows avoiding the sending of a confirmation email to the user

Delete User

curl --location --request DELETE 'https://app.webdoxclm.com/api/v2/users/<ID>' \
--header 'Authorization: Bearer edfcbb1a61180cfa67ae27a09d792bb3c64d32d1f2dde001a4cc09a7cf4b1d66'

The above command returns JSON structured like this:

{}

This endpoint allows you to delete a user identified with the supplied ID

HTTP Request

DELETE https://app.webdoxclm.com/api/v2/users/<ID>

URL Parameters

Parameter Description
ID User ID

Bulk creation

curl --location --request POST 'http://localhost:3000/api/v2/users/bulk_create' \
--header 'Authorization: Bearer f5b3dc826b8db21f5a6b58f3e13f5c167b90541235761caeaa577f0c5f3eca98' \
--header 'Content-Type: application/json' \
--header 'Cookie: csrftoken=uxWx5huTKxYHq9gbcgXeDoLisd9lF1mqzyvzX7Ex62s99q7OE5ByyLTbbD3E4ld7' \
--data-raw '{
    "users": [
    {
        "first_name": "Grai4g",
        "last_name": "Klempke34",
        "email": "[email protected]",
        "job_ids": ["46896f04-1217-476a-87fa-3c6fc50ae936"],
        "profile_ids": ["7a78a42f-0903-490e-92e2-109bce0ea225"]
    },
    {
        "first_name": "Shellysheldon4",
        "last_name": "Koppen3",
        "email": "[email protected]",
        "job_ids": ["46896f04-1217-476a-87fa-3c6fc50ae936", "7390fd91-f3dc-43f8-a786-033c314ad0bd"]
    }]
}
'

The above command returns JSON structured like this:

[
    {
        "id": "6741a2e5-5710-4f7f-bb97-80d25ee5f31b",
        "first_name": "Grai4g",
        "last_name": "Klempke34",
        "email": "[email protected]",
        "job_ids": [
            "46896f04-1217-476a-87fa-3c6fc50ae936"
        ],
        "blocked": false,
        "external_id": null,
        "profile_ids": [
          "7a78a42f-0903-490e-92e2-109bce0ea225"
        ]
    },
    {
        "id": "1f0258cd-7c60-404c-a437-7a43b463f887",
        "first_name": "Shellysheldon4",
        "last_name": "Koppen3",
        "email": "[email protected]",
        "job_ids": [
            "46896f04-1217-476a-87fa-3c6fc50ae936",
            "7390fd91-f3dc-43f8-a786-033c314ad0bd"
        ],
        "blocked": false,
        "external_id": null
    }
]

It allows creating users in bulk using an array of JSON

HTTP Request

POST https://app.webdoxclm.com/api/v2/users/bulk_create

Body Parameters

Parameter Required Validation Description
users Hash Array Contains the users that will be uploaded to the platform
first_name Must be a String Name of user
last_name Must be a String Last name of user
email Must be a String Email of user
job_ids Optional array of uuids Jobs the user has
blocked Optional Boolean Blocks user if true
profile_ids Optional array of uuids Profiles that the user will have

Profiles

Profiles define the permissions of the users assigned to them

Get profile list

curl --location --request GET 'https://app.webdoxclm.com/api/v2/profiles' \
--header 'Authorization: Bearer c3aee39ac76970dbe72ec2a2741158a536dfd945b81109abacdd9fcee4846c2b' \

The above command returns JSON structured like this:

[
    {
        "id": "bd188323-c086-4c3c-8373-a75bd74d2e72",
        "name": "Admin"
    },
    {
        "id": "7a78a42f-0903-490e-92e2-109bce0ea225",
        "name": "Usuario avanzado"
    }
]

It allows to obtain the list of profiles of the account

HTTP Request

GET https://app.webdoxclm.com/api/v2/profiles

Audit

Returns all activities in a paginated form

Get activities

curl --location --request GET 'https://app.webdoxclm.com/api/v2/audits' \
--header 'Authorization: Bearer 245d298daffc6a25278fe6eeb199a1d19e10f2a4d4c43003eb3b7a7b656cba99' \

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "5189",
            "type": "audit",
            "attributes": {
                "id": 5189,
                "action": "session_security_updated",
                "key": "customer.session_security_updated",
                "parameters": {
                    "changes": {
                        "timeout_in_unit_cd": [
                            1,
                            2
                        ],
                        "updated_at": [
                            "2023-09-06T14:51:08.956-03:00",
                            "2023-09-06T14:53:44.991-03:00"
                        ]
                    }
                },
                "trackable_id": 1,
                "trackable_type": "Customer",
                "owner_id": 1,
                "owner_type": "User",
                "customer_id": 1,
                "recipient_type": null,
                "recipient_id": null,
                "created_at": "2023-09-06T14:53:45-03:00",
                "updated_at": "2023-09-06T14:53:45-03:00",
                "deleted_at": null
            }
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 1,
        "total_elements": 4160
    }
}

HTTP Request

GET https://app.webdoxclm.com/api/v2/audits?page=<Number>&per_page=<Number>

National Identification Kinds

Allows you to query for available national identification kinds by country

List National Identification Kinds

curl --location --request GET 'https://app.webdoxclm.com/api/v2/national_identification_kinds' \
--header 'Authorization: Token token="7ba2941be41544acba9ddbb9ffa4daf5"'

The above command returns JSON structured like this:

{
    "COL": [
    {
        "id": "bfbc6016-aab3-4508-a01d-64ffaeee96b4",
        "kind": "CC"
    },
    {
        "id": "cc6a114b-410d-4242-88fb-a3e7d834b22b",
        "kind": "CE"
    },
    {
        "id": "fc8c127f-7138-4d53-834e-060f952390da",
        "kind": "PEP"
    }
  ],
  "PER": [
    {
        "id": "94bfbabc-9971-4cc8-bb6b-80c62aa2887d",
        "kind": "DNI"
    },
    {
        "id": "0b6219c3-4b24-4f5c-804d-c89b65bf9225",
        "kind": "RUC"
    },
    {
        "id": "48a26347-9f64-4d26-bead-0c3f651ad079",
        "kind": "CE"
    }
  ],
  "ECU": [
    {
        "id": "71042c55-977d-4527-99ae-fb49ce922509",
        "kind": "CE"
    },
    {
        "id": "adc35bc0-957a-42d3-af9a-5ab798371364",
        "kind": "RUC"
    }
  ]
}

HTTP Request

GET https://app.webdoxclm.com/api/v2/national_identification_kinds

Parameters query string

GET https://app.webdoxclm.com/api/v2/national_identification_kinds?country_code=PER

URL Parameters

Parameter Description
country_code ISO 3166-1 alpha-3 code for the country to filter by

Errors

The Webdox API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Not authorized.
404 Not Found.
405 Method Not Allowed -- You tried to access with an invalid method.
422 Unprocessable Entity.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.