Docugami REST API (v1preview1)

Download OpenAPI specification:Download

documents

Upload, download, delete, and view details of documents.

List documents

Authorizations:
clientapi-key
query Parameters
name
string

Filters documents by name, excluding any prefix.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

docset.id
string

Filters documents by docset.

status
string (document-status)
Enum: "New" "Ingesting" "Ingested" "Processing" "Ready" "Error"
Example: status=Ready

Filters documents by status.

prefix
string

Filters documents by name beginning with this prefix.

minPages
integer <int32> >= 0

Filters documents by minimum number of pages in the document.

maxPages
integer <int32> >= 0

Filters documents by maximum number of pages in the document.

minSize
integer <int32> >= 0

Filters documents by minimum file size in bytes.

maxSize
integer <int32> >= 0

Filters documents by maximum file size in bytes.

samples
boolean
Default: false

Whether or not to return sample documents.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/documents

Response samples

Content type
application/json
{}

Get a document

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/documents/ID

Response samples

Content type
application/json
{}

Delete a document

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --request DELETE \
  https://api.docugami.com/v1preview1/documents/ID

Upload a document

The maximum request size is 150 MB. The allowed file extensions are: .pdf, .docx, and .doc.

Authorizations:
clientapi-key
Request Body schema: multipart/form-data
docset.id
string
file
required
string <binary>

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --form docset.id=ID \
  --form file=@document.pdf \
  https://api.docugami.com/v1preview1/documents/content

Response samples

Content type
application/json
{}

Get download headers

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --head \
  --request HEAD \
  https://api.docugami.com/v1preview1/documents/ID/content

Download a document

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --header "Accept: application/octet-stream" \
  --remote-name \
  --remote-header-name \
  https://api.docugami.com/v1preview1/documents/ID/content

Gets the info for a specific page of a document

Authorizations:
clientapi-key
path Parameters
id
required
string
pageNumber
required
integer

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/documents/ID/pages/PAGE-NUMBER

Response samples

Content type
application/json

List the pages of a document

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/documents/ID/pages/PAGE-NUMBER

Response samples

Content type
application/json

Get download headers for a document page image

Authorizations:
clientapi-key
path Parameters
id
required
string
pageNumber
required
integer

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --head \
  --request HEAD \
  https://api.docugami.com/v1preview1/documents/ID/pages/PAGE-NUMBER/content

Download a document page image

Authorizations:
clientapi-key
path Parameters
id
required
string
pageNumber
required
integer

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --header "Accept: application/octet-stream" \
  --remote-name \
  --remote-header-name \
  https://api.docugami.com/v1preview1/documents/ID/pages/PAGE-NUMBER/content

docsets

Associate documents into sets.

List docsets

Authorizations:
clientapi-key
query Parameters
name
string

Filters docsets by name.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

minDocuments
integer <int32>

Filters docsets by minimum number of documents in the set.

maxDocuments
integer <int32>

Filters docsets by maximum number of documents in the set.

samples
boolean
Default: false

Whether or not to return sample docsets.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/docsets

Response samples

Content type
application/json
{}

Create a docset

Authorizations:
clientapi-key
Request Body schema: application/json
name
required
string

The name of the docset.

documents
Array of strings

Optional collection of document ids to include in the new docset. Documents will be moved if they already belong to a docset.

Responses

Request samples

Content type
application/json
{
  • "name": "Loss Runs",
  • "documents": [
    ]
}

Response samples

Content type
application/json
{}

Get a docset

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/docsets/ID

Response samples

Content type
application/json
{}

Delete a docset

Deleting a docset does not delete any documents it contains.

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --request DELETE \
  https://api.docugami.com/v1preview1/docsets/ID

List documents in a docset

Authorizations:
clientapi-key
path Parameters
id
required
string
query Parameters
prefix
string

Filters documents by name beginning with this prefix.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

status
string (document-status)
Enum: "New" "Ingesting" "Ingested" "Processing" "Ready" "Error"
Example: status=Ready

Filters documents by status.

minPages
integer <int32> >= 0

Filters documents by minimum number of pages in the document.

maxPages
integer <int32> >= 0

Filters documents by maximum number of pages in the document.

minSize
integer <int32> >= 0

Filters documents by minimum file size in bytes.

maxSize
integer <int32> >= 0

Filters documents by maximum file size in bytes.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/docsets/ID/documents

Response samples

Content type
application/json
{}

Add a document to a docset

The document is moved if it is already part of a docset.

Authorizations:
clientapi-key
path Parameters
docsetId
required
string
documentId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --method PUT \
  https://api.docugami.com/v1preview1/docsets/DOCSET-ID/documents/DOCUMENT-ID

Response samples

Content type
application/json
{}

Get a document from a docset

Authorizations:
clientapi-key
path Parameters
docsetId
required
string
documentId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/docsets/DOCSET-ID/documents/DOCUMENT-ID

Response samples

Content type
application/json
{}

Remove a document from a docset

Removing a document from a docset does not delete the document.

Authorizations:
clientapi-key
path Parameters
docsetId
required
string
documentId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --method DELETE \
  https://api.docugami.com/v1preview1/docsets/DOCSET-ID/documents/DOCUMENT-ID

Download processed document output

Authorizations:
clientapi-key
path Parameters
docsetId
required
string
documentId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --header "Accept: application/xml" \
  --remote-name \
  --remote-header-name \
  https://api.docugami.com/v1preview1/docsets/DOCSET-ID/documents/DOCUMENT-ID/dgml

projects

Manage projects and associated artifacts.

List projects

Authorizations:
clientapi-key
query Parameters
name
string

Filters projects by name.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

docset.id
string

Filters projects by docset.

type
string (project-type)
Enum: "TabularReport" "Abstract" "ExcelExport" "AssistedAuthoring" "AutomationAnywhereDocumentAssembly" "AutomationAnywhereWorkFlow" "ZapierWorkFlow" "UiPathWorkFlow" "UiPathDocumentAssembly" "PowerAutomateWorkFlow" "DiligenceReport"
Example: type=TabularReport

Filters projects by type.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/projects

Response samples

Content type
application/json
{}

Create a project

Authorizations:
clientapi-key
Request Body schema: application/json
name
required
string

The name of the project.

type
required
any (project-type)
Enum: "TabularReport" "Abstract" "ExcelExport" "AssistedAuthoring" "AutomationAnywhereDocumentAssembly" "AutomationAnywhereWorkFlow" "ZapierWorkFlow" "UiPathWorkFlow" "UiPathDocumentAssembly" "PowerAutomateWorkFlow" "DiligenceReport"
docset.id
required
string

The ID of the docset this project will be associated with.

Array of objects (project-item)

Responses

Request samples

Content type
application/json
{
  • "name": "Loss Runs",
  • "type": "TabularReport",
  • "docset.id": "string",
  • "items": [
    ]
}

Response samples

Content type
application/json
{}

Get a project

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/projects/ID

Response samples

Content type
application/json
{}

Delete a project

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --request DELETE \
  https://api.docugami.com/v1preview1/projects/ID

List artifacts

Authorizations:
clientapi-key
path Parameters
projectId
required
string
version
string
Examples: 1 2 latest
query Parameters
name
string

Filters artifacts by name.

document.id
string

Filters artifacts by document id.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

minSize
integer <int32>

Filters artifacts by minimum file size in bytes.

maxSize
integer <int32>

Filters artifacts by maximum file size in bytes

isReadOnly
boolean

Filters artifacts by read-only status.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/projects/ID/artifacts

Response samples

Content type
application/json
{}

Get an artifact

Authorizations:
clientapi-key
path Parameters
projectId
required
string
version
required
string
Examples: 1 2 latest
artifactId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/projects/PROJECT-ID/artifacts/latest/ARTIFACT-ID

Response samples

Content type
application/json
{}

Delete an artifact

Read-only artifacts cannot be deleted.

Authorizations:
clientapi-key
path Parameters
projectId
required
string
version
required
string
Examples: 1 2 latest
artifactId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --request DELETE \
  https://api.docugami.com/v1preview1/projects/PROJECT-ID/artifacts/latest/ARTIFACT-ID

Response samples

Content type
application/problem+json
{}

Get artifact download headers

Authorizations:
clientapi-key
path Parameters
projectId
required
string
version
required
string
Examples: 1 2 latest
artifactId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --head \
  --request HEAD \
  https://api.docugami.com/v1preview1/projects/PROJECT-ID/artifacts/latest/ARTIFACT-ID/content

Downloads an artifact

Authorizations:
clientapi-key
path Parameters
projectId
required
string
version
required
string
Examples: 1 2 latest
artifactId
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --header "Accept: application/octet-stream" \
  --remote-name \
  --remote-header-name \
  https://api.docugami.com/v1preview1/projects/PROJECT-ID/artifacts/latest/ARTIFACT-ID/content

Upload an artifact

The maximum request size is 150 MB. The allowed file extensions are: .xml, .json, .csv, .xlsx, .pdf, and .docx.

Authorizations:
clientapi-key
path Parameters
projectId
required
string
version
required
string
Examples: 1 2 latest
Request Body schema: multipart/form-data
document.id
string
file
required
string <binary>

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --form document.id=DOCUMENT-ID \
  --form file=@artifact.xml \
  https://api.docugami.com/v1preview1/projects/PROJECT-ID/artifacts/1/content

Response samples

Content type
application/json
{}

sample-catalog

View all available samples.

List sample catalog

Authorizations:
clientapi-key
query Parameters
name
string

Filters sample catalog by name.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/sample-catalog

Response samples

Content type
application/json
{
  • "samples": [
    ],
}

Get a sample catalog item

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/sample-catalog/ID

Response samples

Content type
application/json
{
  • "id": "xmtqwbg4g0i8",
  • "name": "Service Agreements",
  • "description": "Software Related Master Services Agreements that establish the legal and operational parameters for engaging in software-related services. These agreements encompass the delineation of project scope, service-level expectations, intellectual property ownership, confidentiality obligations, and the protocol for resolving disputes.",
  • "version": "3",
  • "createdAt": "2023-03-13T20:22:30.6981643+00:00",
  • "updatedAt": "2023-03-13T20:22:31.0982176+00:00"
}

samples

Install, remove, and view samples in the workspace.

List samples

Authorizations:
clientapi-key
query Parameters
name
string

Filters samples by name.

status
string (sample-status)
Enum: "Ready" "InProgress" "Error"
Example: status=Ready

Filters samples by status

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/samples

Response samples

Content type
application/json
{
  • "samples": [
    ],
}

Install a sample

Authorizations:
clientapi-key
Request Body schema: application/json
id
required
string

The id of the sample catalog item.

Responses

Request samples

Content type
application/json
{
  • "id": "xmtqwbg4g0i8"
}

Response samples

Content type
application/json
{
  • "samples": [
    ],
}

Get a sample

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/samples/ID

Response samples

Content type
application/json
{
  • "id": "gmk07l49tk2c",
  • "catalog": {},
  • "name": "Service Agreements",
  • "description": "Software Related Master Services Agreements that establish the legal and operational parameters for engaging in software-related services. These agreements encompass the delineation of project scope, service-level expectations, intellectual property ownership, confidentiality obligations, and the protocol for resolving disputes.",
  • "version": "3",
  • "status": "Ready",
  • "createdAt": "2023-03-13T20:22:30.6981643+00:00",
  • "updatedAt": "2023-03-13T20:22:31.0982176+00:00"
}

workspace

View workspace status.

Get workspace details

Authorizations:
clientapi-key

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/workspace

Response samples

Content type
application/json
{
  • "id": "qgwjgy7tq0ui",
  • "name": "Example Workspace",
  • "createdAt": "2023-03-06T16:59:52.3057791+00:00",
  • "type": "Trial",
  • "expired": true,
  • "expiresAt": "2023-03-21T16:59:51.3057791+00:00",
  • "quota": {
    }
}

webhooks

Create and manage webhooks.

List webhooks

Authorizations:
clientapi-key
query Parameters
target
any (Webhook target)
Enum: "Documents" "Project" "Docset"
Example: target=Project

Filters webhooks by target type. 'read:documents' scope is required for document and docset targets and 'read:projects' for project targets.

targetId
string
Example: targetId=0gjiwhvpeqcg

Filters webhooks by target id.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/webhooks

Response samples

Content type
application/json
{}

Create a webhook

Authorizations:
clientapi-key
Request Body schema: application/json
target
required
any (webhook-target)
Enum: "Documents" "Project" "Docset"
url
required
string <uri>
targetId
string
events
Array of any (Webhook events)
Items Enum: "Documents.Create" "Documents.Delete" "Docset.Document.Add" "Docset.Document.Remove" "Docset.Document.Dgml" "Project.Artifacts.Create" "Project.Artifacts.Delete" "Project.Artifacts.Modify" "Project.Artifacts.Version"
secret
string

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Get a webhook

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  https://api.docugami.com/v1preview1/webhooks/ID

Response samples

Content type
application/json
{}

Delete a webhook

Authorizations:
clientapi-key
path Parameters
id
required
string

Responses

Request samples

curl --header "Authorization: Bearer <API-KEY>" \
  --request DELETE \
  https://api.docugami.com/v1preview1/webhooks/ID

Response samples

Content type
application/problem+json
{}