List agreements
This operation retrieves a list of all agreements available in the system. It provides a high-level overview of each agreement, including its unique identifier (id), title, type, status, and involved parties. The list also includes important metadata, such as the agreement’s creation and modification timestamps, and information on the agreement’s source system (e.g., eSign, CLM).
Each agreement entry includes essential details that allow users to quickly assess the agreements and determine which ones are relevant for their needs. For example, the agreement’s status can help users understand whether an agreement is still active, pending, or completed.
The response also includes provisions that outline the key legal, financial, and lifecycle conditions, along with custom user-defined fields, providing a comprehensive understanding of each agreement.
Use Cases:
- Retrieving a list of agreements for integration into external systems: Export or sync agreement data into other platforms (e.g., CRM, ERP systems) to align business processes across different tools.
- Providing data for RAG (Retrieval-Augmented Generation) applications or Copilots: The list of agreements can be a valuable data source for AI/LLM-based applications that answer user queries about agreements. It allows Copilots to understand what agreements exist and offer insights based on their details.
- Filtering agreements by type or status: Determine which agreements are active, pending, or completed, and gather a summary of key provisions across multiple agreements.
- Auditing or reporting: Generate a report on agreements based on type, status, or date created, helping with compliance tracking and internal reviews.
- Metadata tracking: Track when agreements were created, modified, and by whom, ensuring proper governance and version control.
Key Features:
- Comprehensive Agreement Overview: Provides high-level visibility into all agreements, with essential details for each one, including status, type, and involved parties.
- Metadata and Provisions: Returns important metadata and provisions (legal, financial, and custom) for each agreement, helping users understand their obligations and contract terms.
- Source System Information: Captures details about where the agreement originated (e.g., eSign, CLM), making it easier to integrate and track agreements across different business systems.
- Data for AI Applications: The operation is designed to support LLM-powered apps, making it ideal for use in RAG-based applications and Copilots that query agreements for decision-making or information purposes.
Authentication
OAuth2 authentication.
- Demo:
- authorizationUrl: https://account-d.docusign.com/oauth/auth
- tokenUrl: https://account-d.docusign.com/oauth/token
- Production:
- authorizationUrl: https://account.docusign.com/oauth/auth
- tokenUrl: https://account.docusign.com/oauth/token
Path parameters
Query parameters
OData full-text search expression. Performs a case-insensitive search across agreement text fields including title, type, parties, and provisions.
The search term is matched as a substring against searchable fields. Enclose multi-word terms in double quotes for exact phrase matching.
Examples:
$search=Acme— matches agreements mentioning “Acme” in any searchable field$search="Non-Disclosure Agreement"— exact phrase match$search=renewal— matches agreements with “renewal” in title, type, or provisions
Note: $search and $filter may be combined. When both are provided, results must match the $search query and satisfy the $filter conditions.
OData filter expression for complex queries.
Nested properties use a forward slash /, not a dot: provisions/effective_date, not provisions.effective_date. Dots are only for the basic filter parameters below, such as provisions.effective_date[gt]=2025-01-01.
Supports:
- Comparison operators:
eq,gt,ge,lt,le, separated from the property and value by spaces (e.g.,provisions/effective_date gt 2025-01-01).gteandlteare not valid in$filter. - Logical operator:
and - In operator:
in(e.g.,type in ('Msa','Sow'))
Note: On the agreements list, the ne and or operators, not (... eq ...), and the startswith and endswith functions are not supported and return 400 Bad Request. To match one of several values, use in instead of or.
Note: $filter may be combined with $search. When both are provided, results must match the $search query and satisfy the $filter conditions.
Examples:
status eq 'COMPLETE' and provisions/effective_date ge 2025-01-01provisions/renewal_type in ('EVERGREEN','AUTO_RENEW')- Combined with
$search=renewaland$filter=status eq 'COMPLETE': returns only COMPLETE agreements matching “renewal”
Direction of sorting (ascending or descending).
List of agreement IDs to filter by (comma-separated), use operators (=, [in]) with an UUID format.
List of document IDs to filter by (comma-separated), use operators (=, [in]) with an UUID format.
Multi-value alias for the status filter. Accepts a comma-separated list of status values (e.g. COMPLETE,PENDING). Supported values: COMPLETE, PENDING, INACTIVE.
Review status of the agreement Supported values include:
- COMPLETE
- PENDING
Filter by the date the extraction review was completed. Takes an ISO 8601 date or date-time.
- Equal to:
review_completed_at=2025-01-01 - Compare: put the operator in brackets after the name, for example
review_completed_at[gt]=2025-01-01. Supported operators:[gt],[ge],[lt],[le].
To compare in $filter instead, use a slash and a space-separated operator: $filter=review_completed_at gt 2025-01-01. $filter takes eq, gt, ge, lt and le, not gte or lte.
Filter by creation date (also available as created_at). Takes an ISO 8601 date or date-time.
- Equal to:
metadata.created_at=2025-01-01 - Compare: put the operator in brackets after the name, for example
metadata.created_at[gt]=2025-01-01. Supported operators:[gt],[ge],[lt],[le].
To compare in $filter instead, use a slash and a space-separated operator: $filter=metadata/created_at gt 2025-01-01. $filter takes eq, gt, ge, lt and le, not gte or lte.
List of BCP-47 language tags (comma-separated). Use operators (=) with a string format.
Filter by effective date (also available as effective_date). Takes an ISO 8601 date or date-time.
- Equal to:
provisions.effective_date=2025-01-01 - Compare: put the operator in brackets after the name, for example
provisions.effective_date[gt]=2025-01-01. Supported operators:[gt],[ge],[lt],[le].
To compare in $filter instead, use a slash and a space-separated operator: $filter=provisions/effective_date gt 2025-01-01. $filter takes eq, gt, ge, lt and le, not gte or lte.
Filter by expiration date (also available as expiration_date). Takes an ISO 8601 date or date-time.
- Equal to:
provisions.expiration_date=2025-01-01 - Compare: put the operator in brackets after the name, for example
provisions.expiration_date[gt]=2025-01-01. Supported operators:[gt],[ge],[lt],[le].
To compare in $filter instead, use a slash and a space-separated operator: $filter=provisions/expiration_date gt 2025-01-01. $filter takes eq, gt, ge, lt and le, not gte or lte.
Filter by execution date (also available as execution_date). Takes an ISO 8601 date or date-time.
- Equal to:
provisions.execution_date=2025-01-01 - Compare: put the operator in brackets after the name, for example
provisions.execution_date[gt]=2025-01-01. Supported operators:[gt],[ge],[lt],[le].
To compare in $filter instead, use a slash and a space-separated operator: $filter=provisions/execution_date gt 2025-01-01. $filter takes eq, gt, ge, lt and le, not gte or lte.
Filter by the duration of the agreement (also available as term_length). Takes an ISO 8601 duration.
- Equal to:
provisions.term_length=P1Y - Compare: put the operator in brackets after the name, for example
provisions.term_length[gt]=P1Y. Supported operators:[gt],[ge],[lt],[le].
To compare in $filter instead, use a slash and a space-separated operator: $filter=provisions/term_length gt P1Y. $filter takes eq, gt, ge, lt and le, not gte or lte.
Response
Hypermedia controls (HATEOAS) for navigating between pages in a paginated collection of results. Links for the current page, next page, and previous page, with optional first and last page links.