GetAccept API
GetAccept REST API v1 — documents, e-signature, recipients, contacts, templates, users, videos, custom data, communication templates, and webhook subscriptions.
GetAccept REST API v1 — documents, e-signature, recipients, contacts, templates, users, videos, custom data, communication templates, and webhook subscriptions.
{
"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