1. Authentication

Please use the API key for authentication. If you do not have one, then log in as an admin and navigate to account settings to create one. You need to add this API key as a header to each call/request. If it is missing, you will get an error message.

Remember that this key is an identifier of your account, so please keep it safe and do not share it with anyone except your organization.

Use the below header for all requests

Authorization: Api-Key {API_KEY}

2. Create signature request

This endpoint allows you to create signature request(s) from your saved templates

POST

https://api.bunnydoc.com/v1/createSignatureRequestFromTemplate

Headers

Authorization: Api-Key {API_KEY}

Fields (optional)

apiLabel: Please input the api label you assigned to your field in the editor section.

The `signatureRequestLink` will only contain a URL if “SHOW ME LINKS” are enabled in your account settings.

Request Payload (Sample)

{
    "templateId" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "title" : "Example title here",
    "emailMessage" : "Example email message here",
    "signingOrder" : false,
     "recipients" : [
        {
            "role" : "role1",
            "name" : "Signer1",
            "email" : "[email protected]", 
            "accessCode" : ""
        },
        { 
            "role" : "role2",
            "name" : "Signer2",
            "email" : "[email protected]", 
            "accessCode" : ""
        }
    ],
    "fields" : [
        {
            "apiLabel": "textFieldPatientHistory",
            "value": "My test value",
            "readOnly" : 1 
        },
        {
            "apiLabel": "sampleCheckBoxFieldLabel",
            "value": true,
            "readOnly" : 1 
        }
    ]
}

Response

{
    "error": 0,
    "message": "Envelope has been sent to recipients.",

    "envelopeId" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "recipients": [
        {
            "name": "Signer1",
            "email": "[email protected]",
            "signatureRequestLink": "Signing URL"
        },
        {
            "name": "Signer12",
            "email": "[email protected]",
            "signatureRequestLink": "Signing URL"
        }
    ]
}

3. Webhook

Subscribe

This endpoint allows you to subscribe to webhook events.

POST

https://api.bunnydoc.com/v1/subscribeWebhook

BunnyDoc will initiate a POST request to the hookUrl you provide, anticipating the ‘BUNNYDOC API EVENT RECEIVED‘ string in response for verification purposes. Failure to receive this response will result in verification failure, and the webhook URL will not be registered to send event updates.

Headers

Authorization: Api-Key {API_KEY}

Request Payload (Sample)

{
  "hookUrl": "https://example.com/webhookUrl",
  "webhookEvents": [
    "signatureRequestViewed",
    "signatureRequestSigned",
    "signatureRequestCompleted"
  ]
}

Response (if webhook url verified)

{
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
  "error": 0,
  "message":""
}

Response (If webhook url is not verified)

{
    "error": 1,
    "message": "Failed. BUNNYDOC API EVENT RECEIVED was NOT found in the response."
}

Unsubscribe

This endpoints allows you to unsubscribe from webhook events.

DELETE

https://api.bunnydoc.com/v1/unsubscribeWebhook/:id

Headers

Authorization: Api-Key {API_KEY}

Response

{
  "error": 0,
  "message":""
  "identifier" : "xxxxxxxxxxxxx"
}

4. Team

4.1 Get All Team Members

GET

https://api.bunnydoc.com/v1/listTeamMembers

If the API key is correct and the request is successful, it will return a response containing an array with all team members’ information. Each element in the array will represent a team member and would include details such as their name, email, role, and any other relevant information associated with team members in the system.

Headers

Authorization: Api-Key {API_KEY}

{
   "error":0,
   "message":"",
   "teamMembers":[
      {
         "id":"xxxxxxxxxx",
         "firstName":"Joe",
         "surname":"Test",
         "email":"[email protected]",
         "status":"active",
         "role":"admin"
      },
      {
         "id":"xxxxxxxxxx",
         "firstName":"June",
         "surname":"Test",
         "email":"[email protected]",
         "status":"active",
         "role":"team-member"
      }
   ]
}

4.2 Add Team Member

POST

https://api.bunnydoc.com/v1/addTeamMember

If the API key is correct and the request is successful, it will return a response containing an array with all team members’ information. Each element in the array will represent a team member and would include details such as their name, email, role, and any other relevant information associated with team members in the system.

Headers

Authorization: Api-Key {API_KEY}

Body Parameters

All params with * are required attributes

firstName*Team member’s first name
surnameTeam member’s surname
email*Team member’s email
role*Team member’s role
(admin | team-member)
statusTeam member’s status
(active | pending)
idTeam member’s Id

Request Payload

{
    "firstName" : "Joe",
    "surname" : "Test",
    "email" : "[email protected]",
    "role"  : "team-member"
}

Response

{
    "error": 0,
    "message": "We have sent an activation link to [email protected]. Please advise the team member to check the email for email verification. ",
    "firstName": "Joe",
    "surname": "Test",
    "email": "[email protected]",
    "role": "team-member",
    "status": "pending",
    "id": "sfdgsuf837r5345"
}