Skip to main content

Akorda API (1.0.0)

Download OpenAPI specification:Download

Introduction

The Akorda API is organized around REST. Our API has predictable resource-oriented URLs accepts form-encoded request bodies, returns JSON-encoded responses, and uses standardHTTP response codes, authentication, and verbs.

Authentication

At the moment Akorda only supports API Key authentication.

All requests must include an Authorization header:

Authorization: Bearer {token}

The authentication endpoint is https://api.{dev,qa}.akordacorp.com/v1/oauth/token.

Test Environment

Test environments are available at api.{dev,qa}.akordacorp.com. Contact support for setup instructions.

Production Environment

The production API is available at api.akorda.com.

Contact support for authentication key setup.

Documents API V1

ListDocuments

Lists all documents

Authorizations:
ApiKeyAuth
query Parameters
orderBy
string

Sorting order_by specifies the field to sort by. Example: "created_date,desc"

filter
string

Filtering filter specifies the filter to apply to the documents.

pageSize
string <int64>

Pagination page_size specifies the number of documents to return in a single response.

pageNumber
string <int64>

page_number specifies the page number to return.

pageOffset
string <int64>

page_offset specifies the number of documents to skip before returning the first document.

Responses

Response samples

Content type
application/json
{
  • "documents": [
    ],
  • "pageNumber": "string",
  • "pageOffset": "string",
  • "pageSize": "string",
  • "totalElements": "string",
  • "totalPages": "string"
}

UploadDocument

Allows the user to upload a new document or version to a new or existing counterparty and to optionally send it for review or signature or upload a new version to an existing document

Authorizations:
ApiKeyAuth
Request Body schema: application/json
object (DocumentAction defines the input parameters to execute an action in the document review process)
required
object (Document info)
object (UploadOptions is optional data that can be set to a document)
uploadFor
string (UploadAction specifies the actions available when uploading a document)
Default: "UPLOAD_ACTION_UNSPECIFIED"
Enum: "UPLOAD_ACTION_UNSPECIFIED" "UPLOAD_FOR_REVIEW" "UPLOAD_FOR_SIGNATURE" "UPLOAD_FOR_INSIGHTS" "UPLOAD_FOR_SEARCH"
  • UPLOAD_ACTION_UNSPECIFIED: Default value
  • UPLOAD_FOR_REVIEW: Upload a document and start a review
  • UPLOAD_FOR_SIGNATURE: Upload a document and start a signature workflow
  • UPLOAD_FOR_INSIGHTS: Upload a document for analysis
  • UPLOAD_FOR_SEARCH: Upload the document for search indexing

Responses

Request samples

Content type
application/json
{
  • "action": {
    },
  • "document": {
    },
  • "options": {
    },
  • "uploadFor": "UPLOAD_ACTION_UNSPECIFIED"
}

Response samples

Content type
application/json
{
  • "document": {
    }
}

AssembleDocument

Allows the user to send a set assembly questions and answers to generate a new document for a given or new counterparty and optionally send it for review or signature

Authorizations:
ApiKeyAuth
Request Body schema: application/json
object (DocumentAction defines the input parameters to execute an action in the document review process)
object (DocumentAssemblyRequest payload to assemble a document)
object (Counterparty models an Akorda counterparty)
registerDocument
boolean (Flag to register the document against ms-project)
returnBytes
boolean (Flag to return the bytes or the storage file Id)

Responses

Request samples

Content type
application/json
{
  • "assemblyAnswers": [
    ],
  • "counterparty": { },
  • "playbookId": "123"
}

Response samples

Content type
application/json
{
  • "document": {
    }
}

GetDocument

Get a single document

Authorizations:
ApiKeyAuth
path Parameters
documentId
required
string

document_id specifies the id of the document to retrieve.

Responses

Response samples

Content type
application/json
{
  • "assigneeId": "string",
  • "counterparty": {
    },
  • "createdBy": "string",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "documentType": "string",
  • "externalAttributes": { },
  • "externalId": "string",
  • "fileInfo": {
    },
  • "id": "string",
  • "metadata": { },
  • "negotiationStatus": "NEGOTIATION_STATUS_UNSPECIFIED",
  • "notes": "string",
  • "playbookId": "string",
  • "sourceType": "string",
  • "status": "string",
  • "title": "string",
  • "updatedBy": "string",
  • "updatedDate": "2019-08-24T14:15:22Z",
  • "versionControl": 0,
  • "versionNumber": 0
}

ExecuteDocumentAction

Executes an akorda.api.document.v1.DocumentAction against the given document

Authorizations:
ApiKeyAuth
path Parameters
documentId
required
string

The entity id of the document

Request Body schema: application/json
required
object (DocumentAction defines the input parameters to execute an action in the document review process)
object (Document info)
object (Email defines the details of an email request)
object (SignatureRequest holds the parameters to start a signature workflow)
type
string (DocumentAction specifies all the actions that a user can do to a document)
Default: "DOCUMENT_ACTION_UNSPECIFIED"
Enum: "DOCUMENT_ACTION_UNSPECIFIED" "UPLOAD_FOR_REVIEW" "UPLOAD_FOR_SIGNATURE" "UPLOAD_FOR_INSIGHTS" "UPLOAD_FOR_SEARCH" "UPLOAD_NEW_VERSION" "SEND_TO_COUNTERPARTY" "SEND_TO_USER" "SEND_FOR_SIGNATURE" "SET_WITH_COUNTERPARTY" "SET_WITH_LEGAL" "SET_WITH_SALES" "FINALIZE" "CANCEL_REVIEW" "CANCEL_SIGNATURE" "NOTIFY_SIGNED" "RESEND_SIGNATURE" "UPDATE_UNSIGNED_DOCUMENT" "REOPEN"
  • DOCUMENT_ACTION_UNSPECIFIED: Should never appear anywhere
  • UPLOAD_FOR_REVIEW: Upload a document and start a review
  • UPLOAD_FOR_SIGNATURE: Upload a document and start a signature workflow
  • UPLOAD_FOR_INSIGHTS: Upload a document for analysis
  • UPLOAD_FOR_SEARCH: Upload the document for search indexing
  • UPLOAD_NEW_VERSION: Upload a new version of a document
  • SEND_TO_COUNTERPARTY: Send an existing document to the counterparty
  • SEND_TO_USER: Send an existing document to another user
  • SEND_FOR_SIGNATURE: Send an existing document for signature
  • SET_WITH_COUNTERPARTY: Set an existing document as being with the counterparty
  • SET_WITH_LEGAL: Set an existing document as being with a legal user
  • SET_WITH_SALES: Set an existing document as being with a sales user
  • FINALIZE: Resolve all outstanding issues of a document
  • CANCEL_REVIEW: Cancel the review of a document
  • CANCEL_SIGNATURE: Cancel the signature of a document (reverts to review)
  • NOTIFY_SIGNED: Notify that a document has been signed
  • RESEND_SIGNATURE: Resend a signature to signers
  • UPDATE_UNSIGNED_DOCUMENT: Update unsigned document to revert to in review
  • REOPEN: Re-open a canceled document
object (User models an Akorda user)

Responses

Request samples

Content type
application/json
{
  • "action": {
    },
  • "documentId": "1234"
}

Response samples

Content type
application/json
{
  • "document": {
    }
}

DeleteDocument

Deletes the specified document if the conditions are met.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

The id of the document.

query Parameters
hardDelete
boolean

set true when a hard deletion is to be performed

Responses

Response samples

Content type
application/json
{ }

download

Authorizations:
ApiKeyAuth
path Parameters
documentId
required
integer <int64>

documentId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Playbook

Playbook Service

Fetches a paginated playbook list

Authorizations:
ApiKeyAuth
query Parameters
companyId
integer <int64>

companyId

offset
integer <int64>
page
ref
Default: "0"

Results page you want to retrieve (0..N)

pageNumber
integer <int32>
pageSize
integer <int32>
paged
boolean
size
ref
Default: "20"

Number of records per page

sort
string

Sort expression. Ex: updatedDate,DESC

sort.sorted
boolean
sort.unsorted
boolean
status
string
Enum: "ARCHIVED" "PUBLISHED" "PUBLISHING" "DRAFT_PUBLISHING" "UNCONFIRMED_PUBLISHING" "DRAFT" "DELETED" "PROCESSING" "UNCONFIRMED" "FAILED"

status

unpaged
boolean
header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Creates a new playbook

Authorizations:
ApiKeyAuth
query Parameters
companyId
integer <int64>

companyId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

abbreviation
string
defaultSigner
integer <int64>
description
string
forAssembly
boolean
object (PlaybookFrictionConfiguration)
name
string
paperType
string
Enum: "COMPANY_PAPER" "COUNTERPARTY_PAPER"
parentType
string
preSigned
boolean
referenceId
string
status
string
Enum: "ARCHIVED" "PUBLISHED" "PUBLISHING" "DRAFT_PUBLISHING" "UNCONFIRMED_PUBLISHING" "DRAFT" "DELETED" "PROCESSING" "UNCONFIRMED" "FAILED"
object
templateContent
string <byte>
templateDocxFileId
integer <int64>
templateFileName
string
templateMediaType
string

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "string",
  • "defaultSigner": 0,
  • "description": "string",
  • "forAssembly": true,
  • "frictionConfig": {
    },
  • "name": "string",
  • "paperType": "COMPANY_PAPER",
  • "parentType": "string",
  • "preSigned": true,
  • "referenceId": "string",
  • "status": "ARCHIVED",
  • "structureSettings": {
    },
  • "templateContent": "string",
  • "templateDocxFileId": 0,
  • "templateFileName": "string",
  • "templateMediaType": "string"
}

Assembles a playbook as DOCX file

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

Array of objects (PlaybookAssemblyAnswer)
companyId
integer <int64>
counterpartyId
integer <int64>
counterpartyName
string
store
boolean
timezone
string

Responses

Request samples

Content type
application/json
{
  • "assemblyAnswers": [
    ],
  • "companyId": 0,
  • "counterpartyId": 0,
  • "counterpartyName": "string",
  • "store": true,
  • "timezone": "string"
}

downloadDefaultTemplate

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Exports playbook as Excel file

Authorizations:
ApiKeyAuth
path Parameters
companyId
required
integer <int64>

companyId

playbookType
required
string

playbookType

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Exports playbook as plain text

Authorizations:
ApiKeyAuth
path Parameters
companyId
required
integer <int64>

companyId

playbookType
required
string

playbookType

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Exports playbook as Excel file

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Exports playbook as html

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Exports a Playbook structure to be imported in a different environment

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Exports playbook as plain text

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Imports a Playbook

Authorizations:
ApiKeyAuth
path Parameters
companyId
required
integer <int64>

companyId

query Parameters
overwrite
boolean

overwrite

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

abbreviation
string
Array of objects (Clause)
defaultSigner
integer <int64>
description
string
forAssembly
boolean
object (PlaybookFrictionConfiguration)
name
string
paperType
string
Enum: "COMPANY_PAPER" "COUNTERPARTY_PAPER"
parentType
string
preSigned
boolean
referenceId
string
status
string
Enum: "ARCHIVED" "PUBLISHED" "PUBLISHING" "DRAFT_PUBLISHING" "UNCONFIRMED_PUBLISHING" "DRAFT" "DELETED" "PROCESSING" "UNCONFIRMED" "FAILED"
object
templateContent
string <byte>
templateDocxFileId
integer <int64>
templateFileName
string
templateMediaType
string
Array of objects (Variable)

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "string",
  • "clauses": [
    ],
  • "defaultSigner": 0,
  • "description": "string",
  • "forAssembly": true,
  • "frictionConfig": {
    },
  • "name": "string",
  • "paperType": "COMPANY_PAPER",
  • "parentType": "string",
  • "preSigned": true,
  • "referenceId": "string",
  • "status": "ARCHIVED",
  • "structureSettings": {
    },
  • "templateContent": "string",
  • "templateDocxFileId": 0,
  • "templateFileName": "string",
  • "templateMediaType": "string",
  • "variables": [
    ]
}

index

Authorizations:
ApiKeyAuth
path Parameters
companyId
required
integer <int64>

companyId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Fetches a playbook by company and type

Authorizations:
ApiKeyAuth
path Parameters
companyId
required
integer <int64>

companyId

type
required
string

type

query Parameters
expandFields
Array of strings

expandFields

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Fetches a playbook by its id

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

query Parameters
expandFields
Array of strings

List of fields that can be expanded as part of the result. Ex: clauses, clauses.standard, clauses.fallbacks, clauses.pastExamples

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Updates a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

abbreviation
string
defaultSigner
integer <int64>
description
string
forAssembly
boolean
object (PlaybookFrictionConfiguration)
name
string
paperType
string
Enum: "COMPANY_PAPER" "COUNTERPARTY_PAPER"
parentType
string
preSigned
boolean
referenceId
string
status
string
Enum: "ARCHIVED" "PUBLISHED" "PUBLISHING" "DRAFT_PUBLISHING" "UNCONFIRMED_PUBLISHING" "DRAFT" "DELETED" "PROCESSING" "UNCONFIRMED" "FAILED"
object
templateContent
string <byte>
templateDocxFileId
integer <int64>
templateFileName
string
templateMediaType
string

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "string",
  • "defaultSigner": 0,
  • "description": "string",
  • "forAssembly": true,
  • "frictionConfig": {
    },
  • "name": "string",
  • "paperType": "COMPANY_PAPER",
  • "parentType": "string",
  • "preSigned": true,
  • "referenceId": "string",
  • "status": "ARCHIVED",
  • "structureSettings": {
    },
  • "templateContent": "string",
  • "templateDocxFileId": 0,
  • "templateFileName": "string",
  • "templateMediaType": "string"
}

Deletes a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Patches a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

abbreviation
string
defaultSigner
integer <int64>
description
string
forAssembly
boolean
object (PlaybookFrictionConfiguration)
name
string
parentType
string
pipelineId
integer <int64>
preSigned
boolean
publishedDate
string <date-time>
referenceId
string
status
string
Enum: "ARCHIVED" "PUBLISHED" "PUBLISHING" "DRAFT_PUBLISHING" "UNCONFIRMED_PUBLISHING" "DRAFT" "DELETED" "PROCESSING" "UNCONFIRMED" "FAILED"
object
templateDocxFileId
integer <int64>
workflowId
string

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "string",
  • "defaultSigner": 0,
  • "description": "string",
  • "forAssembly": true,
  • "frictionConfig": {
    },
  • "name": "string",
  • "parentType": "string",
  • "pipelineId": 0,
  • "preSigned": true,
  • "publishedDate": "2019-08-24T14:15:22Z",
  • "referenceId": "string",
  • "status": "ARCHIVED",
  • "structureSettings": {
    },
  • "templateDocxFileId": 0,
  • "workflowId": "string"
}

Adds a new clause to a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

displayName
string
guidance
string
name
string
optional
boolean
parentId
integer <int64>
position
integer <int32>
object (JsonNode)
structureType
string
Enum: "PARAGRAPH" "LIST" "SECTION"
text
string
weightMutual
number <double>
weightProvidee
number <double>
weightProvider
number <double>

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "guidance": "string",
  • "name": "string",
  • "optional": true,
  • "parentId": 0,
  • "position": 0,
  • "structureSettings": {
    },
  • "structureType": "PARAGRAPH",
  • "text": "string",
  • "weightMutual": 0,
  • "weightProvidee": 0,
  • "weightProvider": 0
}

Fetches the playbook history

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

query Parameters
asc
boolean

asc

page
integer <int32>

page

size
integer <int32>
Default: 10000

size

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

indexPlaybook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Returns all playbook metadata by playbookId

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Adds a metadata item to a playbook

Authorizations:
ApiKeyAuth
path Parameters
metadataId
required
integer <int64>

metadataId

playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

defaultValue
string

Default value

filing
boolean

True if the metadata can be used in playbook filing

library
boolean

True if the metadata will be displayed in playbook library columns

replacement
boolean

True if the metadata can be used in playbook replacement

required
boolean

True if a value is required for the metadata

search
boolean

True if the metadata can be used in playbook search

useForTitle
boolean

True if the metadata will be used as part of the project title/file name

Responses

Request samples

Content type
application/json
{
  • "defaultValue": "string",
  • "filing": true,
  • "library": true,
  • "replacement": true,
  • "required": true,
  • "search": true,
  • "useForTitle": true
}

Publishes a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Triggers recommendation generation for a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

downloadTemplate

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

uploadTemplate

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

template

content
required
string <byte>

File content

fileName
required
string

File name

mediaType
required
string

File media type

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "fileName": "string",
  • "mediaType": "string"
}

resetTemplate

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

uploadTemplate

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: multipart/form-data
file
required
string <binary>

file

Responses

Get all variables for a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Responses

Adds a new variable to a playbook

Authorizations:
ApiKeyAuth
path Parameters
playbookId
required
integer <int64>

playbookId

header Parameters
Authorization
required
string
Default: Bearer {TOKEN}

OAuth2 token

Request Body schema: application/json

request

defaultValue
string

Default value

description
string

Description of the variable

displayName
required
string

Display name of the variable

filing
boolean

True if variable can be used in playbook filing

groupName
string

The group name of the metadata.

library
boolean

True if variable can be used in library columns

name
string

Name of the variable. If not provided the name will be inferred from displayName.

playbookDefault
boolean

True if the metadata will be set as default for playbook

position
integer <int32>

The position of the variable. Default: last

replacement
boolean

True if variable can be used in playbook replacement

required
boolean

True if a value is required for the metadata

search
boolean

True if variable can be used in playbook search

system
boolean

True if system metadata

type
required
string
Enum: "NUMBER" "DATE" "TEXT" "KEYWORD" "BOOLEAN"

Type of the Variable (INTEGER, LONG, FLOAT, BOOLEAN, DATE, TEXT)

useForTitle
boolean

True if variable will be used as part of the project title/file name

Responses

Request samples

Content type
application/json
{
  • "defaultValue": "string",
  • "description": "string",
  • "displayName": "string",
  • "filing": true,
  • "groupName": "string",
  • "library": true,
  • "name": "string",
  • "playbookDefault": true,
  • "position": 0,
  • "replacement": true,
  • "required": true,
  • "search": true,
  • "system": true,
  • "type": "NUMBER",
  • "useForTitle": true
}