PDF
Download PDF
Download page REST API Version 2.0.
REST API Version 2.0
swagger: '2.0'
info:
title: Conga Collaborate REST API
version: v2
basePath: /api/v2
definitions:
Content:
type: object
properties:
name:
type: string
body:
type: string
visibility:
type: integer
default: 1
enum:
- 0
- 1
locked_for_edit:
type: boolean
default: false
expires_at:
type: string
format: date-time
default: ''
published_at:
type: string
format: date-time
Attachment:
type: object
properties:
media_id:
type: integer
sequence:
type: integer
default: 0
locked_for_deletion:
type: boolean
default: false
esignable:
type: integer
default: 0
enum:
- 0
- 1
required:
- media_id
ExternalDocumentBase:
type: object
properties:
name:
type: string
default: ''
document_class_id:
type: integer
default: 1
enum:
- 1
- 2
status:
type: integer
default: 2
enum:
- 2
- 3
required:
- name
- document
- document_class_id
- status
ExternalDocumentPost:
allOf:
- $ref: '#/definitions/ExternalDocumentBase'
- $ref: '#/definitions/File'
- $ref: '#/definitions/Metadata'
ExternalDocumentPut:
allOf:
- $ref: '#/definitions/ExternalDocumentBase'
- $ref: '#/definitions/Metadata'
MediaBase:
type: object
properties:
user_id:
type: integer
default: 1
locked_for_edit:
type: integer
default: 0
enum:
- 0
- 1
visibility:
type: integer
default: 1
enum:
- 0
- 1
name:
type: string
default: ''
required:
- name
- document
- locked_for_edit
- visibility
MediaPost:
allOf:
- $ref: '#/definitions/MediaBase'
- $ref: '#/definitions/File'
Metadata:
type: object
properties:
metadata_template_id:
type: integer
default: ''
metadata_field_values:
type: object
properties:
metadata_field_id:
type: string
default: my_value
metadata_field_name:
type: string
default: my_value
File:
type: object
properties:
document:
type: string
format: byte
default: base64 string
Snippet:
type: object
properties:
name:
type: string
default: About Us
body:
type: string
default: We are Sales Productivity
visibility:
type: integer
default: 1
enum:
- 0
- 1
locked_for_edit:
type: boolean
default: false
expires_at:
type: string
format: date-time
default: ''
published_at:
type: string
format: date-time
required:
- name
- body
Task:
type: object
properties:
name:
type: string
default: Complete This Task
user_id:
type: integer
default: ''
description:
type: string
default: Describe the task
completed:
type: boolean
default: false
required:
type: boolean
default: false
owner_id:
type: integer
default: ''
taskable_id:
type: integer
default: ''
taskable_type:
type: string
default: Proposal
due_by:
type: string
format: date
default: ''
assigned:
type: boolean
default: false
required:
- name
- description
- account
- user
- owner
- taskable
Template:
type: object
properties:
name:
type: string
default: My Template
description:
type: string
default: New Business
archived:
type: boolean
default: false
esignable:
type: integer
default: 0
enum:
- 0
- 1
- 2
visibility:
type: integer
default: 1
enum:
- 0
- 1
required:
- name
User:
type: object
properties:
username:
type: string
default: Person
name:
type: string
default: Person
email:
type: string
default: person@octiv.com
password:
type: string
default: ''
password_confirmation:
type: string
default: ''
language:
type: string
default: en
time_zone:
type: string
default: Eastern Time (US & Canada)
ext_integration_id:
type: string
default: ''
workgroup_name:
type: string
default: ''
group_name:
type: string
default: ''
skip_confirmation:
type: boolean
default: false
required:
- username
- name
- email
- password
- password_confirmation
Document:
allOf:
- $ref: '#/definitions/DocumentBase'
- $ref: '#/definitions/Metadata'
DocumentBase:
type: object
properties:
name:
type: string
default: My Document
description:
type: string
default: Sample Text
value:
type: number
password:
type: string
default: ''
archived:
type: integer
default: 1
enum:
- 0
- 1
visibility:
type: integer
default: 1
enum:
- 0
- 1
template_id:
type: integer
default: ''
variable_data:
type: object
properties:
var:
type: string
default: value
ext_integration_id:
type: string
default: ''
workgroup_ids:
type: array
items:
type: integer
default: []
properties: {}
required:
- name
Recipient:
type: object
properties:
first_name:
type: string
default: Person
last_name:
type: string
default: Doe
email_address:
type: string
default: persondoe@octiv.com
signer:
type: boolean
default: false
signer_position:
type: integer
default: 1
post_acceptance_forms:
type: boolean
default: false
add_recipients:
type: boolean
default: false
add_collaborators:
type: boolean
default: false
redliner:
type: boolean
default: false
required:
- first_name
- last_name
- email_address
Page:
type: object
properties:
name:
type: string
default: New Page
body:
type: string
default: Sample Text
sequence:
type: integer
ext_integration_id:
type: string
default: ''
acceptance_type:
type: integer
default: 0
status:
type: integer
default: 0
include_logic:
type: string
default: ''
locked_for_edit:
type: boolean
default: false
locked_for_deletion:
type: boolean
default: false
esignable:
type: boolean
default: true
variable_data:
type: object
properties:
var:
type: string
default: value
required:
- name
Section:
type: object
properties:
name:
type: string
default: New Section
sequence:
type: integer
acceptance_type:
type: integer
default: -1
enum:
- -1
- 0
- 1
- 2
- 3
esignable:
type: boolean
default: true
include_logic:
type: string
default: ''
required:
- name
CallToAction:
type: object
properties:
label:
type: string
default: accept
type:
type: integer
enum:
- accept
- decline
- question
- change_request
- add_people
required:
- label
- type
Email:
type: object
properties:
subject:
type: string
default: Sample Subject
message:
type: string
default: Sample Body Text
recipient_ids:
type: array
items:
type: integer
default: []
properties: {}
description: 'When empty, emails will be delivered to all recipients who have not yet been emailed'
bcc_yourself:
type: boolean
default: false
required:
- proposal_id
- subject
- message
Version:
type: object
properties:
message:
type: string
default: New Version
paths:
/contents:
post:
summary: creates a new content
tags:
- Contents
consumes:
- application/json
produces:
- application/json
parameters:
- name: content
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
content:
$ref: '#/definitions/Content'
required:
- content
responses:
'201':
description: success
'401':
description: unauthorized
get:
summary: retrieves all previously created content
tags:
- Contents
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/contents/{id}':
get:
summary: 'retrieves previously created {Content} '
tags:
- Contents
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a specific content
tags:
- Contents
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: content
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
content:
$ref: '#/definitions/Content'
required:
- content
responses:
'200':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific content
tags:
- Contents
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/attachments':
post:
summary: creates a new attachment on a contract
tags:
- Contract Attachments
consumes:
- application/json
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: attachment
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
attachment:
$ref: '#/definitions/Attachment'
responses:
'200':
description: success
'401':
description: unauthorized
get:
summary: returns all the attachments for a contract
tags:
- Contract Attachments
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/attachments/{id}':
put:
summary: updates a specific contract
tags:
- Contract Attachments
produces:
- application/json
consumes:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: attachment
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
attachment:
$ref: '#/definitions/Attachment'
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific contract
tags:
- Contract Attachments
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/emails':
get:
summary: returns all the emails for a contract
tags:
- Contract Emails
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
post:
summary: creates a new email for contract
tags:
- Contract Emails
consumes:
- application/json
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: email
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
email:
$ref: '#/definitions/Email'
required:
- email
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/pages':
post:
summary: creates a new page in a contract
tags:
- Contract Pages
consumes:
- application/json
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: page
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section_id:
type: integer
page:
$ref: '#/definitions/Page'
required:
- page
- section_id
responses:
'201':
description: created
'401':
description: unauthorized
get:
summary: get all pages in a contract
tags:
- Contract Pages
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/pages/{id}':
get:
summary: get specific page in a contract
tags:
- Contract Pages
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a specific page in a contract
tags:
- Contract Pages
produces:
- application/json
consumes:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: page
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section_id:
type: integer
page:
$ref: '#/definitions/Page'
responses:
'204':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific page in a contract
tags:
- Contract Pages
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/recipients':
post:
summary: creates a new recipient for a contract
tags:
- Contract Recipients
consumes:
- application/json
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: recipient
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
recipient:
$ref: '#/definitions/Recipient'
required:
- recipient
responses:
'200':
description: success
'401':
description: unauthorized
'422':
description: invalid request
get:
summary: retrieves all contract recipients
tags:
- Contract Recipients
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/recipients/{id}':
get:
summary: retrieves a specific contract recipient
tags:
- Contract Recipients
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a recipient of a contract
tags:
- Contract Recipients
produces:
- application/json
consumes:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: recipient
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
recipient:
$ref: '#/definitions/Recipient'
responses:
'200':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific recipient in a contract
tags:
- Contract Recipients
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/sections':
post:
summary: creates a new section in the contract
tags:
- Contract Sections
consumes:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: section
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section:
$ref: '#/definitions/Section'
responses:
'201':
description: success
'401':
description: unauthorized
get:
summary: retrieves all sections in a contract
tags:
- Contract Sections
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/sections/{id}':
get:
summary: retrieves a section in a contract
tags:
- Contract Sections
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a section in a contract
tags:
- Contract Sections
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: section
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section:
$ref: '#/definitions/Section'
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific section from a contract and all associated pages
tags:
- Contract Sections
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
/contracts:
post:
summary: creates a new contracts
tags:
- Contract
consumes:
- application/json
produces:
- application/json
parameters:
- name: contract
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
squash_variables:
type: boolean
default: 'false'
description: Converts nested variable hashes to top level variables
async:
type: boolean
default: 'false'
description: Process document creation in an asyncronous background job
auto_publish:
type: boolean
default: 'false'
description: Publish document upon successful creation
contract:
$ref: '#/definitions/Document'
required:
- contract
responses:
'201':
description: success
'202':
description: accepted
'401':
description: unauthorized
'406':
description: not acceptable
'422':
description: invalid request
get:
summary: retreives a specific contract
tags:
- Contract
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: document found
'401':
description: unauthorized
'/contracts/{id}':
get:
summary: retreives a specific contract
tags:
- Contract
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: all
in: query
type: boolean
format: boolean
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: document found
'401':
description: unauthorized
'404':
description: not found
put:
summary: updates a specific contract
tags:
- Contract
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: contract
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
act_on_behalf:
type: string
default: ''
squash_variables:
type: boolean
default: 'false'
description: Converts nested variable hashes to top level variables
contract:
$ref: '#/definitions/Document'
required:
- contract
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific contract
tags:
- Contract
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/contracts/{id}/replace_variables':
put:
summary: replace variables for a specific contract
tags:
- Contract
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: variable_data
required: true
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
squash_variables:
type: boolean
default: 'false'
description: Converts nested variable hashes to top level variables
refresh_pages:
type: boolean
default: 'false'
description: Refresh page content and generated pages based on new variables
variable_data:
type: object
properties:
var:
type: string
default: value
required:
- variable_data
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
'/contracts/{id}/duplicate':
post:
summary: makes a copy of a specific contract with updated properties
tags:
- Contract
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: act_on_behalf
in: query
required: false
type: string
- name: contract
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
contract:
$ref: '#/definitions/Document'
required:
- contract
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{id}/publish':
get:
summary: publishes a specific contract
tags:
- Contract
produces:
- application/json
consumes:
- application/x-www-form-urlencoded
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{id}/pdf':
get:
summary: returns the url for a pdf of the contract
tags:
- Contract
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
- name: download
in: query
required: false
type: boolean
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{id}/word':
get:
summary: returns the url for a word document of the contract
tags:
- Contract
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
- name: download
in: query
required: false
type: boolean
responses:
'200':
description: success
'401':
description: unauthorized
'/contracts/{contract_id}/actions':
post:
summary: creates a new action in a contract
tags:
- Contract Call to Actions
consumes:
- application/json
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: call_to_action
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
call_to_action:
$ref: '#/definitions/CallToAction'
required:
- call_to_action
responses:
'200':
description: success
'401':
description: unauthorized
'403':
description: forbidden
get:
summary: retrieves the specific actions of a contract
tags:
- Contract Call to Actions
produces:
- application/json
parameters:
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'404':
description: not found
'/contracts/{contract_id}/actions/{id}':
get:
summary: get a specfic action of a contract
tags:
- Contract Call to Actions
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates the action of a contract
tags:
- Contract Call to Actions
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: call_to_action
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
call_to_action:
$ref: '#/definitions/CallToAction'
required:
- call_to_action
responses:
'200':
description: success
'401':
description: unauthorized
'403':
description: not found
'404':
description: not found
delete:
summary: deletes a specific action from a contract
tags:
- Contract Call to Actions
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: contract_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
/external_documents:
get:
summary: list external document
tags:
- External Documents
consumes:
- application/json
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
post:
summary: create external document
tags:
- External Documents
consumes:
- application/json
produces:
- application/json
parameters:
- name: external_document
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
external_document:
$ref: '#/definitions/ExternalDocumentPost'
required:
- external_document
- api_key
responses:
'201':
description: success
'/external_documents/{id}':
get:
summary: external document
tags:
- External Documents
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
in: path
type: integer
required: true
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
put:
summary: update an external document
tags:
- External Documents
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
in: path
type: integer
required: true
format: int32
- name: external_document
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
external_document:
$ref: '#/definitions/ExternalDocumentPut'
required:
- external_document
- api_key
responses:
'204':
description: success
'/external_documents/{id}/download':
get:
summary: Download File
tags:
- External Documents
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
in: path
type: integer
required: true
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
/medias:
get:
summary: retrieves all media
tags:
- Media
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
post:
summary: create media
tags:
- Media
consumes:
- application/json
produces:
- application/json
parameters:
- name: media
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
tag_names_str:
type: string
default: ''
media:
$ref: '#/definitions/MediaPost'
required:
- media
- api_key
responses:
'201':
description: success
'401':
description: unauthorized
'/medias/{id}':
get:
summary: retrieves specific media
tags:
- Media
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific media
tags:
- Media
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/attachments':
post:
summary: creates a new attachment on a proposal
tags:
- Proposal Attachments
consumes:
- application/json
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: attachment
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
attachment:
$ref: '#/definitions/Attachment'
responses:
'200':
description: success
'401':
description: unauthorized
get:
summary: returns all the attachments for a proposal
tags:
- Proposal Attachments
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/attachments/{id}':
put:
summary: updates a specific proposal
tags:
- Proposal Attachments
produces:
- application/json
consumes:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: attachment
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
attachment:
$ref: '#/definitions/Attachment'
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific proposal
tags:
- Proposal Attachments
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/emails':
get:
summary: returns all the emails for a proposal
tags:
- Proposal Emails
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
post:
summary: creates a new email for proposal
tags:
- Proposal Emails
consumes:
- application/json
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: email
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
email:
$ref: '#/definitions/Email'
required:
- email
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/pages':
post:
summary: creates a new page in a proposal
tags:
- Proposal Pages
consumes:
- application/json
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: page
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section_id:
type: integer
page:
$ref: '#/definitions/Page'
required:
- page
- section_id
responses:
'201':
description: created
'401':
description: unauthorized
get:
summary: get all pages in a proposal
tags:
- Proposal Pages
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/pages/{id}':
get:
summary: get specific page in a proposal
tags:
- Proposal Pages
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a specific page in a proposal
tags:
- Proposal Pages
produces:
- application/json
consumes:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: page
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section_id:
type: integer
page:
$ref: '#/definitions/Page'
responses:
'204':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific page in a proposal
tags:
- Proposal Pages
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/recipients':
post:
summary: creates a new recipient for a proposal
tags:
- Proposal Recipients
consumes:
- application/json
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: recipient
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
recipient:
$ref: '#/definitions/Recipient'
required:
- recipient
responses:
'200':
description: success
'401':
description: unauthorized
'422':
description: invalid request
get:
summary: retrieves all proposal recipients
tags:
- Proposal Recipients
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/recipients/{id}':
get:
summary: retrieves a specific proposal recipient
tags:
- Proposal Recipients
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a recipient of a proposal
tags:
- Proposal Recipients
produces:
- application/json
consumes:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: recipient
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
recipient:
$ref: '#/definitions/Recipient'
responses:
'200':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific recipient in a proposal
tags:
- Proposal Recipients
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/sections':
post:
summary: creates a new section in the proposal
tags:
- Proposal Sections
consumes:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: section
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section:
$ref: '#/definitions/Section'
responses:
'201':
description: success
'401':
description: unauthorized
get:
summary: retrieves all sections in a proposal
tags:
- Proposal Sections
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/sections/{id}':
get:
summary: retrieves a section in a proposal
tags:
- Proposal Sections
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a section in a proposal
tags:
- Proposal Sections
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: section
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
section:
$ref: '#/definitions/Section'
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific section from a proposal and all associated pages
tags:
- Proposal Sections
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/versions':
post:
summary: creates a new version in the proposal
tags:
- Proposal Versions
consumes:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: version
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
version:
$ref: '#/definitions/Version'
responses:
'201':
description: success
'401':
description: unauthorized
'404':
description: not found
get:
summary: retrieves all versions in a proposal
tags:
- Proposal Versions
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'404':
description: not found
'/proposals/{proposal_id}/versions/{id}':
get:
summary: retrieves a version in a proposal
tags:
- Proposal Versions
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'404':
description: not found
put:
summary: updates a version in a proposal
tags:
- Proposal Versions
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: version
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
version:
$ref: '#/definitions/Version'
responses:
'200':
description: success
'401':
description: unauthorized
'404':
description: not found
/proposals:
post:
summary: creates a new proposal
tags:
- Proposal
consumes:
- application/json
produces:
- application/json
parameters:
- name: proposal
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
squash_variables:
type: boolean
default: 'false'
description: Converts nested variable hashes to top level variables
async:
type: boolean
default: 'false'
description: Process document creation in an asyncronous background job
auto_publish:
type: boolean
default: 'false'
description: Publish document upon successful creation
proposal:
$ref: '#/definitions/Document'
required:
- proposal
responses:
'201':
description: success
'202':
description: accepted
'401':
description: unauthorized
'406':
description: not acceptable
'422':
description: invalid request
get:
summary: retreives all proposals
tags:
- Proposal
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
- name: act_on_behalf
in: query
required: false
type: string
responses:
'200':
description: document found
'401':
description: unauthorized
'/proposals/{id}':
get:
summary: retreives a specific proposal
tags:
- Proposal
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: all
in: query
type: boolean
format: boolean
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: document found
'401':
description: unauthorized
'404':
description: not found
put:
summary: updates a specific proposal
tags:
- Proposal
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: proposal
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
act_on_behalf:
type: string
default: ''
squash_variables:
type: boolean
default: 'false'
description: Converts nested variable hashes to top level variables
proposal:
$ref: '#/definitions/Document'
required:
- proposal
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
delete:
summary: deletes a specific proposal
tags:
- Proposal
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
- name: act_on_behalf
in: query
required: false
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/proposals/{id}/replace_variables':
put:
summary: replace variables for a specific proposal
tags:
- Proposal
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: variable_data
required: true
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
squash_variables:
type: boolean
default: 'false'
description: Converts nested variable hashes to top level variables
refresh_pages:
type: boolean
default: 'false'
description: Refresh page content and generated pages based on new variables
variable_data:
type: object
properties:
var:
type: string
default: value
required:
- variable_data
responses:
'204':
description: success
'401':
description: unauthorized
'404':
description: not found
'/proposals/{id}/duplicate':
post:
summary: makes a copy of a specific proposal with updated properties
tags:
- Proposal
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: act_on_behalf
in: query
required: false
type: string
- name: proposal
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
proposal:
$ref: '#/definitions/Document'
required:
- proposal
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{id}/publish':
get:
summary: publishes a specific proposal
tags:
- Proposal
produces:
- application/json
consumes:
- application/x-www-form-urlencoded
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
- name: act_on_behalf
in: query
required: false
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{id}/pdf':
get:
summary: returns the url for a pdf of the proposal
tags:
- Proposal
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
- name: download
in: query
required: false
type: boolean
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{id}/word':
get:
summary: returns the url for a word document of the proposal
tags:
- Proposal
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
- name: download
in: query
required: false
type: boolean
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/actions':
post:
summary: creates a new action in a proposal
tags:
- Proposal Call to Action
consumes:
- application/json
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: call_to_action
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
call_to_action:
$ref: '#/definitions/CallToAction'
required:
- call_to_action
responses:
'200':
description: success
'401':
description: unauthorized
'403':
description: forbidden
get:
summary: retrieves the specific actions of a proposal
tags:
- Proposal Call to Action
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'404':
description: not found
'/proposals/{proposal_id}/actions/{id}':
get:
summary: get a specfic action of a proposal
tags:
- Proposal Call to Action
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates the action of a proposal
tags:
- Proposal Call to Action
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: call_to_action
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
call_to_action:
$ref: '#/definitions/CallToAction'
required:
- call_to_action
responses:
'200':
description: success
'401':
description: unauthorized
'403':
description: not found
'404':
description: not found
delete:
summary: deletes a specific action from a proposal
tags:
- Proposal Call to Action
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
/snippets:
post:
summary: creates a new snippet
tags:
- Snippets
consumes:
- application/json
parameters:
- name: snippet
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
snippet:
$ref: '#/definitions/Snippet'
required:
- snippet
responses:
'200':
description: success
'401':
description: unauthorized
get:
summary: retrieves all snippets
tags:
- Snippets
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/snippets/{id}':
get:
summary: retrieves a specific snippet
tags:
- Snippets
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific snippet
tags:
- Snippets
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
/tasks:
post:
summary: creates a new task
tags:
- Tasks
consumes:
- application/json
produces:
- application/json
parameters:
- name: task
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
task:
$ref: '#/definitions/Task'
required:
- task
responses:
'200':
description: success
'401':
description: unauthorized
get:
summary: retrieves all previously created tasks
tags:
- Tasks
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/tasks/{id}':
put:
summary: updates a specific task
tags:
- Tasks
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: task
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
task:
$ref: '#/definitions/Task'
required:
- task
responses:
'200':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific task
tags:
- Tasks
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
/templates:
post:
summary: creates a new templates
tags:
- Template
consumes:
- application/json
parameters:
- name: template
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
async:
type: boolean
default: 'false'
description: Process template creation in an asyncronous background job
template:
$ref: '#/definitions/Template'
required:
- template
responses:
'201':
description: success
'202':
description: accepted
'401':
description: unauthorized
'406':
description: not acceptable
'422':
description: invalid request
get:
summary: retrieves all templates
tags:
- Template
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/templates/{id}':
get:
summary: retrieves a specific template
tags:
- Template
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: all
in: query
type: boolean
format: boolean
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a specific template
tags:
- Template
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: template
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
template:
$ref: '#/definitions/Template'
responses:
'204':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific template
tags:
- Template
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/templates/{id}/duplicate':
post:
summary: makes a copy of a specific template with updated properties
tags:
- Template
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: act_on_behalf
in: query
required: false
type: string
- name: template
in: body
schema:
type: object
properties:
api_key:
type: string
default: ''
template:
$ref: '#/definitions/Template'
required:
- template
responses:
'200':
description: success
'401':
description: unauthorized
'/proposals/{proposal_id}/tracking':
get:
summary: retrieves all tracking information for a proposal
tags:
- Tracking
produces:
- application/json
parameters:
- name: proposal_id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: not found
/users:
post:
summary: creates a new user
tags:
- Users
consumes:
- application/json
produces:
- application/json
parameters:
- name: user
in: body
required: true
description: Create a new user
schema:
type: object
properties:
api_key:
type: string
default: ''
user:
$ref: '#/definitions/User'
responses:
'201':
description: success
'401':
description: unauthorized
'422':
description: invalid request
get:
summary: retrieves a specific user
tags:
- Users
consumes:
- application/json
produces:
- application/json
parameters:
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/users/{id}':
get:
summary: retrieves a specific user
tags:
- Users
consumes:
- application/json
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
put:
summary: updates a specific user
tags:
- Users
produces:
- application/json
consumes:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
- name: user
in: body
required: true
schema:
type: object
properties:
api_key:
type: string
default: ''
user:
$ref: '#/definitions/User'
responses:
'204':
description: success
'401':
description: unauthorized
delete:
summary: deletes a specific user
tags:
- Users
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'204':
description: success
'401':
description: unauthorized
'/users/{id}/workgroups':
get:
summary: list the workgroups of a specific user
tags:
- Users
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized
'/workgroup/{id}':
get:
summary: retrieves a specific workgroup
tags:
- Workgroups
produces:
- application/json
parameters:
- name: id
in: path
required: true
type: integer
format: int32
- name: api_key
in: query
required: true
type: string
responses:
'200':
description: success
'401':
description: unauthorized