GetAccept API

GetAccept REST API v1 — documents, e-signature, recipients, contacts, templates, users, videos, custom data, communication templates, and webhook subscriptions.

OpenAPI Specification

getaccept-openapi-original.json Raw ↑
{
  "openapi": "3.0.0",
  "info": {
    "contact": {
      "email": "integrations@getaccept.com",
      "name": "GetAccept API Team",
      "url": "https://app.getaccept.com/api"
    },
    "description": "GetAccept provides a sales enablement platform for sales to design, send, promote, track, and e-sign sales documents, leveraging sales collateral, contract management, proposals, and electronic signatures in one place.",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "termsOfService": "https://www.getaccept.com/terms.html",
    "title": "GetAccept",
    "version": "1.6"
  },
  "servers": [
    {
      "description": "Production endpoint",
      "url": "https://api.getaccept.com/v1"
    }
  ],
  "paths": {
    "/attachments": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attachments"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Attachments"
        ],
        "description": "Receive a list of available attachments. You can add new attachments in GetAccept using a new document.",
        "operationId": "ListAttachments",
        "summary": "List attachments"
      }
    },
    "/auth": {
      "post": {
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "access_token": {
                      "description": "Token to be used in consequtive requests using bearer header",
                      "type": "string"
                    },
                    "expires_in": {
                      "description": "Seconds until the access token expires",
                      "format": "int64",
                      "minimum": 0,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Invalid"
          }
        },
        "security": [],
        "tags": [
          "Authentication"
        ],
        "description": "Token based authentication is recommended for server-based access or access from clients where OAuth is not suitable. Access tokens has to be requested using an administrators login credentials.\nRequests should include the header Content-Type with value application/json",
        "operationId": "Authenticate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "Authentication model",
                "properties": {
                  "client_id": {
                    "default": "",
                    "description": "The client id of your app if you received one from our API team",
                    "type": "string"
                  },
                  "email": {
                    "description": "This is the email of the user in GetAccept",
                    "format": "email",
                    "type": "string"
                  },
                  "entity_id": {
                    "default": "",
                    "description": "This specifies what entity to select if multiple entities are available for a user. If no value is specified the default entity will be selected.",
                    "type": "string"
                  },
                  "password": {
                    "description": "This is the password of the user in GetAccept",
                    "format": "password",
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "password"
                ],
                "type": "object",
                "x-examples": {
                  "Example": {
                    "email": "user@example.com",
                    "password": "mysecret"
                  }
                }
              }
            }
          },
          "description": "A JSON object containing authentication credentials",
          "required": true
        },
        "summary": "Authentication by token",
        "x-ms-visibility": "internal"
      }
    },
    "/communication-templates": {
      "get": {
        "parameters": [
          {
            "description": "Start list from record x",
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "type": "integer"
            }
          },
          {
            "description": "Number of records to list",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 20,
              "type": "integer"
            }
          },
          {
            "description": "Filter list on status",
            "in": "query",
            "name": "statuses",
            "schema": {
              "enum": [
                "published",
                "draft"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "communication_templates": {
                      "items": {
                        "$ref": "#/components/schemas/CommunicationTemplate"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Communication Templates"
        ],
        "description": "Receive a list of available communication templates.",
        "operationId": "GetCommunicationTemplates",
        "summary": "Get communication templates"
      },
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommunicationTemplate"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Invalid"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Communication Templates"
        ],
        "description": "Create a communication template.",
        "operationId": "CreateCommunicationTemplate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "tags": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "conversation_sendout_template": {
                    "type": "object"
                  },
                  "email_sendout_reminder_template": {
                    "type": "object"
                  },
                  "email_sendout_template": {
                    "type": "object"
                  },
                  "language": {
                    "description": "One language code in ISO 639 form",
                    "type": "string"
                  },
                  "name": {
                    "description": "Communication template name",
                    "type": "string"
                  },
                  "signed_sendout_template": {
                    "type": "object"
                  },
                  "status": {
                    "enum": [
                      "published",
                      "draft"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "language"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "summary": "Create communication template"
      }
    },
    "/communication-templates/{communicationTemplateId}": {
      "get": {
        "parameters": [
          {
            "description": "Communication Template ID",
            "in": "path",
            "name": "communicationTemplateId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommunicationTemplate"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "tags": [
          "Communication Templates"
        ],
        "description": "Receive a specific communication template.",
        "operationId": "GetCommunicationTemplate",
        "summary": "Get communication template"
      },
      "put": {
        "parameters": [
          {
            "description": "Communication Template ID",
            "in": "path",
            "name": "communicationTemplateId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/components/responses/Invalid"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "tags": [
          "Communication Templates"
        ],
        "description": "Updates a specific communication template.",
        "operationId": "UpdateCommunicationTemplate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "tags": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "conversation_sendout_template": {
                    "type": "object"
                  },
                  "email_sendout_reminder_template": {
                    "type": "object"
                  },
                  "email_sendout_template": {
                    "type": "object"
                  },
                  "language": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "signed_sendout_template": {
                    "type": "object"
                  },
                  "status": {
                    "enum": [
                      "published",
                      "draft"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "summary": "Update communication template"
      }
    },
    "/contacts": {
      "get": {
        "parameters": [
          {
            "description": "Filter list on status",
            "in": "query",
            "name": "filter",
            "schema": {
              "enum": [
                "active",
                "inactive",
                "signed"
              ],
              "type": "string"
            }
          },
          {
            "description": "How to sort results",
            "in": "query",
            "name": "sort_by",
            "schema": {
              "enum": [
                "name",
                "email",
                "company_name",
                "document_count",
                "created"
              ],
              "type": "string"
            }
          },
          {
            "description": "Sort order of results",
            "in": "query",
            "name": "sort_order",
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "description": "Include documents from team members",
            "in": "query",
            "name": "showteam",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Include all contacts from entity",
            "in": "query",
            "name": "showall",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Start list from record x",
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "type": "integer"
            }
          },
          {
            "description": "Number of records to list",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 100,
              "type": "integer"
            }
          },
          {
            "description": "Search string to match first_name, last_name or email",
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contacts"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Contacts"
        ],
        "description": "Receive a list of available contact for the current entity.\nAll contacts added as a recipient are saved as a contact and is available for later use on that entity.",
        "operationId": "ListContacts",
        "summary": "List contacts"
      },
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "contact_id": {
                      "description": "ID of the created contact",
                      "example": "abc58129f",
                      "type": "string",
                      "x-ms-summary": "Contact ID"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Invalid"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Contacts"
        ],
        "description": "This will create a new contact in the database for the current entity",
        "operationId": "CreateContact",
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "Example": {
                  "value": {
                    "company_name": "Doe Inc.",
                    "company_number": "5678901",
                    "email": "jane@doe.com",
                    "first_name": "Jane",
                    "last_name": "Doe",
                    "mobile": "+12345678901",
                    "note": "Just a random contact",
                    "phone": "+46401234567",
                    "title": "CEO"
                  }
                }
              },
              "schema": {
                "properties": {
                  "company_name": {
                    "description": "Associated company name",
                    "type": "string",
                    "x-ms-summary": "Company Name"
                  },
                  "company_number": {
                    "description": "Associated company number",
                    "type": "string",
                    "x-ms-summary": "Company Number"
                  },
                  "email": {
                    "description": "Email address of the contact",
                    "type": "string",
                    "x-ms-summary": "Email"
                  },
                  "first_name": {
                    "description": "First name of the contact",
                    "type": "string",
                    "x-ms-summary": "First name"
                  },
                  "fullname": {
                    "description": "Use to specify full name instead of first/last name",
                    "type": "string",
                    "x-ms-summary": "Full name"
                  },
                  "last_name": {
                    "description": "Last name of the contact",
                    "type": "string",
                    "x-ms-summary": "Last name"
                  },
                  "mobile": {
                    "description": "Mobile number in international format",
                    "type": "string",
                    "x-ms-summary": "Mobile"
                  },
                  "note": {
                    "description": "Optional internal note for contact",
                    "type": "string",
                    "x-ms-summary": "Note"
                  },
                  "phone": {
                    "description": "Phone number in international format",
                    "type": "string",
                    "x-ms-summary": "Phone"
                  },
                  "title": {
                    "description": "The title of the contact, ex. CEO, Sales manager",
                    "type": "string",
                    "x-ms-summary": "Title"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "A JSON object containing contact information",
          "required": true
        },
        "summary": "Create contact",
        "x-ms-visibility": "important"
      }
    },
    "/contacts/{contactId}": {
      "delete": {
        "parameters": [
          {
            "description": "Contact ID",
            "in": "path",
            "name": "contactId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "tags": [
          "Contacts"
        ],
        "description": "Delete a contact. Contacts who are connected to active or signed documents cannot be deleted.",
        "operationId": "DeleteContact",
        "summary": "Delete contact"
      }
    },
    "/custom-data/entity": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityCustomData"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Custom Data"
        ],
        "description": "Get the custom data settings for the current entity.",
        "operationId": "GetEntityCustomData",
        "summary": "Get entity custom data properties"
      },
      "post": {
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Invalid"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Custom Data"
        ],
        "description": "Add a new custom data property to the current entity.",
        "operationId": "AddEntityCustomDataProperty",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "key": {
                    "description": "Unique key for the custom data property",
                    "type": "string"
                  },
                  "label": {
                    "description": "Human-readable label",
                    "type": "string"
                  },
                  "value_type": {
                    "description": "Type of value: string, number, boolean",
                    "enum": [
                      "string",
                      "number",
                      "boolean"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "key",
                  "value_type",
                  "label"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "summary": "Add entity custom data property"
      }
    },
    "/custom-data/entity/{propertyKey}": {
      "delete": {
        "parameters": [
          {
            "description": "Property Key",
            "in": "path",
            "name": "propertyKey",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "tags": [
          "Custom Data"
        ],
        "description": "Delete a custom data property from the current entity.",
        "operationId": "DeleteEntityCustomDataProperty",
        "summary": "Delete entity custom data property"
      }
    },
    "/documents": {
      "get": {
        "parameters": [
          {
            "description": "Filter list on status",
            "explode": false,
            "in": "query",
            "name": "filter",
            "schema": {
              "enum": [
                "draft",
                "sent",
                "viewed",
                "reviewed",
                "signed",
                "rejected",
                "recalled"
              ],
              "example": "signed",
              "type": "string"
            },
            "x-ms-summary": "Filter list on status"
          },
          {
            "description": "How to sort results",
            "in": "query",
            "name": "sort_by",
            "schema": {
              "enum": [
                "name",
                "value",
                "created",
                "recipient",
                "status",
                "owner"
              ],
              "example": "created",
              "type": "string"
            },
            "x-ms-summary": "How to sort results"
          },
          {
            "description": "Sort order of results",
            "in": "query",
            "name": "sort_order",
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "example": "desc",
              "type": "string"
            },
            "x-ms-summary": "Sort order of results"
          },
          {
            "description": "Include documents from team members",
            "in": "query",
            "name": "showteam",
            "schema": {
              "enum": [
                true,
                false
              ],
              "example": true,
              "type": "boolean"
            },
            "x-ms-summary": "Include documents from team members"
          },
          {
            "description": "Include all documents from entity",
            "in": "query",
            "name": "showall",
            "schema": {
              "enum": [
                true,
                false
              ],
              "example": true,
              "type": "boolean"
            },
            "x-ms-summary": "Include all documents from entity"
          },
          {
            "description": "An external ID is a custom field which can contain a unique record identifier from a system outside of GetAccept",
            "in": "query",
            "name": "external_id",
            "schema": {
              "type": "string"
            },
            "x-ms-summary": "External ID"
          },
          {
            "description": "Start list from record x until limit",
            "in": "query",
            "name": "offset",
            "schema": {
              "example": 50,
              "type": "number"
            },
            "x-ms-summary": "Offset"
          },
          {
            "description": "Number of records to list",
            "in": "query",
            "name": "limit",
            "schema": {
              "example": 100,
              "type": "number"
            },
            "x-ms-summary": "Limit"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Documents"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Documents"
        ],
        "description": "Get a list of available documents",
        "operationId": "ListDocuments",
        "summary": "List documents"
      },
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Document"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Invalid"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "tags": [
          "Documents"
        ],
        "description": "You must create a document to be able to send it to a recipient. When creating a document you can refer to previously uploaded files with file_id or you can choose to create a document and upload the files in on API post. You can only upload ONE file when including a file in the create document POST.\n\nUse either file_ids parameter to use existing uploaded file(s), file_content to send the document as base64 encoded string or do a multipart post with file parameter.\n\nAll recipients must have either a valid e-mail or a mobile number.\n\nAll events are recorded using requestor IP address. You can override this using header CLIENT_IP containing the end-users public IP address.",
        "operationId": "CreateDocument",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "attachments": {
                    "description": "Attachments",
                    "items": {
                      "properties": {
                        "id": {
                          "description": "Attachment ID received from list or after upload",
                          "type": "string",
                          "x-ms-dynamic-values": {
                            "operationId": "ListAttachments",
                            "value-collection": "attachments",
                            "value-path": "attachment_id",
                            "value-title": "attachment_title"
                          },
                          "x-ms-summary": "ID"
                        },
                        "require_view": {
                          "description": "Require that recipient view the attachment",
                          "enum": [
                            true,
                            false
                          ],
                          "example": true,
                          "nullable": true,
                          "type": "boolean",
                          "x-ms-summary": "Require view"
                        },
                        "type": {
                          "description": "file or external where file is an uploaded file and external is a link to an external file",
                          "enum": [
                            "file",
                            "external"
                          ],
                          "type": "string",
                          "x-ms-summary": "Type"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array",
                    "x-ms-summary": "Attachment"
                  },
                  "custom_data": {
                    "description": "A list of custom data to include with the document. If the property is already defined on the template, it will be overridden by the value provided here.",
                    "properties": {
                      "properties": {
                        "description": "An array of objects containing custom data properties",
                        "items": {
                          "properties": {
                            "key": {
                              "description": "Key of the custom data property",
                              "type": "string",
                              "x-ms-summary": "Key"
                            },
                            "label": {
                              "description": "Label of the custom data property",
                              "type": "string",
                              "x-ms-summary": "Label"
                            },
                            "value": {
                              "description": "Value of the custom data property",
                              "type": "string",
                              "x-ms-summary": "Value"
                            },
                            "value_type": {
                              "description": "Type of the value: string, number, boolean",
                              "enum": [
                                "string",
                                "number",
                                "boolean"
                              ],
                              "type": "string",
                              "x-ms-summary": "Value Type"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array",
                        "x-ms-summary": "Properties"
                      }
                    },
                    "type": "object",
                    "x-ms-summary": "Custom Data",
                    "x-ms-visibility": "advanced"
                  },
                  "custom_fields": {
                    "description": "Custom field",
                    "items": {
                      "properties": {
                        "id": {
                          "description": "ID of custom template field",
                          "type": "string",
                          "x-ms-summary": "Field ID"
                        },
                        "name": {
                          "description": "Name of custom template field",
                          "type": "string",
                          "x-ms-summary": "Field Name"
                        },
                        "value": {
                          "description": "Value of custom template field",
                          "type": "string",
                          "x-ms-summary": "Field Value"
                 

# --- truncated at 32 KB (258 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/getaccept/refs/heads/main/openapi/getaccept-openapi-original.json