- Overview
- Frameworks supported
- Third Party Dependencies
- Installation
- Packaging
- Getting Started
- API Endpoints
- Models
- Notes
- Contributing
- Licensing
- Report Issues/Bugs
Adobe Sign SDK aims at providing an easy way to integrate the Adobe Sign RESTful web service into client applications through easy to consume client side objects wrapping the REST API functionality. This repository contains Adobe Sign’s SDK (CSharp) and samples for these APIs.
This C# SDK is automatically generated by the Swagger Codegen project:
- API version: 6.0.0
- SDK version: 1.0.0
- Build package: io.swagger.codegen.languages.CSharpClientCodegen
- .NET 4.0 or later
- Windows Phone 7.1 (Mango)
- RestSharp - 105.1.0 or later
- Json.NET - 7.0.0 or later
- JsonSubTypes - 1.2.0 or later
The DLLs included in the package may not be the latest version. We recommend using [NuGet] (https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages:
Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742
Run the following command to generate the DLL
- [Mac/Linux]
/bin/sh build.sh
- [Windows]
build.bat
The IO.Swagger.dll
will be generated at <AdobeSignCSharpSDK>/bin
.
Then include the DLL (under the bin
folder) in the C# project, and use the namespaces:
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.model.agreements;
A .nuspec
is included with the project. You can follow the Nuget quickstart to create and publish packages.
This .nuspec
uses placeholders from the .csproj
, so build the .csproj
directly:
nuget pack -Build -OutputDirectory out IO.Swagger.csproj
Then, publish to a local feed or other host and consume the new package via Nuget as usual.
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.model.agreements;
namespace Example
{
public class Example
{
public void main()
{
var apiInstance = new AgreementsApi();
var authorization = authorization_example; // string | An OAuth Access Token with scopes: 'agreement_write' in the format 'Bearer {accessToken}'.
var ifMatch = ifMatch_example; // string | The server will only update the resource if it matches the listed ETag otherwise error RESOURCE_MODIFIED(412) is returned.
var agreementId = agreementId_example; // string | The agreement identifier, as returned by the agreement creation API or retrieved from the API to fetch agreements.
var formFieldPostInfo = new FormFieldPostInfo(); // FormFieldPostInfo | List of form fields to add or replace
var xApiUser = xApiUser_example; // string | The userId or email of API caller using the account or group token in the format <b>userid:{userId} OR email:{email}.</b> If it is not specified, then the caller is inferred from the token. (optional)
var xOnBehalfOfUser = xOnBehalfOfUser_example; // string | The userId or email in the format <b>userid:{userId} OR email:{email}.</b> of the user that has shared his/her account (optional)
try
{
// Adds template fields to an agreement
AgreementFormFields result = apiInstance.AddTemplateFieldsToAgreement(authorization, ifMatch, agreementId, formFieldPostInfo, xApiUser, xOnBehalfOfUser);
Debug.WriteLine(result);
}
catch (Exception e)
{
Debug.Print("Exception when calling AgreementsApi.AddTemplateFieldsToAgreement: " + e.Message );
}
}
}
}
All URIs are relative to https://api.echosign.com/api/rest/v6
Class | Method | HTTP request | Description |
---|---|---|---|
AgreementsApi | AddTemplateFieldsToAgreement | POST /agreements/{agreementId}/formFields | Adds template fields to an agreement |
AgreementsApi | CreateAgreement | POST /agreements | Creates an agreement. Sends it out for signatures, and returns the agreementID in the response to the client. |
AgreementsApi | CreateAgreementView | POST /agreements/{agreementId}/views | Retrieves the latest state view url of agreement. |
AgreementsApi | CreateDelegatedParticipantSets | POST /agreements/{agreementId}/members/participantSets/{participantSetId}/delegatedParticipantSets | Creates a participantSet to which the agreement is forwarded for taking appropriate action. |
AgreementsApi | CreateReminderOnParticipant | POST /agreements/{agreementId}/reminders | Creates a reminder on the specified participants of an agreement identified by agreementId in the path. |
AgreementsApi | CreateShareOnAgreement | POST /agreements/{agreementId}/members/share | Share an agreement with someone. |
AgreementsApi | DeleteDocuments | DELETE /agreements/{agreementId}/documents | Deletes all the documents of an agreement. |
AgreementsApi | GetAgreementInfo | GET /agreements/{agreementId} | Retrieves the current status of an agreement. |
AgreementsApi | GetAgreementNoteForApiUser | GET /agreements/{agreementId}/me/note | Retrieves the latest note associated with an agreement. |
AgreementsApi | GetAgreementReminder | GET /agreements/{agreementId}/reminders/{reminderId} | Retrieves a specific reminder associated with an agreement |
AgreementsApi | GetAgreementReminders | GET /agreements/{agreementId}/reminders | Retrieves the reminders of an agreement, identified by agreementId in the path. |
AgreementsApi | GetAgreementSecurityOptionsForParticipation | GET /agreements/{agreementId}/members/participantSets/{participantSetId}/participants/{participantId}/securityOptions | Retrieves the security options for a particular participant. |
AgreementsApi | GetAgreements | GET /agreements | Retrieves agreements for the user. |
AgreementsApi | GetAllDocuments | GET /agreements/{agreementId}/documents | Retrieves the IDs of the documents of an agreement identified by agreementId. |
AgreementsApi | GetAllDocumentsImageUrls | GET /agreements/{agreementId}/documents/imageUrls | Retrieves image urls of all visible pages of all the documents associated with an agreement. |
AgreementsApi | GetAllMembers | GET /agreements/{agreementId}/members | Retrieves information of members of the agreement. |
AgreementsApi | GetAuditTrail | GET /agreements/{agreementId}/auditTrail | Retrieves the audit trail of an agreement identified by agreementId. |
AgreementsApi | GetCombinedDocument | GET /agreements/{agreementId}/combinedDocument | Retrieves a single combined PDF document for the documents associated with an agreement. |
AgreementsApi | GetCombinedDocumentPagesInfo | GET /agreements/{agreementId}/combinedDocument/pagesInfo | Retrieves info of all pages of a combined PDF document for the documents associated with an agreement. |
AgreementsApi | GetCombinedDocumentUrl | GET /agreements/{agreementId}/combinedDocument/url | Retrieves url of all visible pages of all the documents associated with an agreement. |
AgreementsApi | GetDocument | GET /agreements/{agreementId}/documents/{documentId} | Retrieves the file stream of a document of an agreement. |
AgreementsApi | GetDocumentImageUrls | GET /agreements/{agreementId}/documents/{documentId}/imageUrls | Retrieves image urls of all visible pages of a document associated with an agreement. |
AgreementsApi | GetEvents | GET /agreements/{agreementId}/events | Retrieves the events information for an agreement. |
AgreementsApi | GetFormData | GET /agreements/{agreementId}/formData | Retrieves data entered into the interactive form fields of the agreement. |
AgreementsApi | GetFormFields | GET /agreements/{agreementId}/formFields | Retrieves details of form fields of an agreement. |
AgreementsApi | GetMergeInfo | GET /agreements/{agreementId}/formFields/mergeInfo | Retrieves the merge info stored with an agreement. |
AgreementsApi | GetParticipantSet | GET /agreements/{agreementId}/members/participantSets/{participantSetId} | Retrieves the participant set of an agreement identified by agreementId in the path. |
AgreementsApi | GetSigningUrl | GET /agreements/{agreementId}/signingUrls | Retrieves the URL for the e-sign page for the current signer(s) of an agreement. |
AgreementsApi | RejectAgreementForParticipation | PUT /agreements/{agreementId}/members/participantSets/{participantSetId}/participants/{participantId}/reject | Rejects the agreement for a participant. |
AgreementsApi | UpdateAgreement | PUT /agreements/{agreementId} | Updates the agreement in draft state, or update the expirationTime on an existing agreement that is already out for signature. |
AgreementsApi | UpdateAgreementMergeInfo | PUT /agreements/{agreementId}/formFields/mergeInfo | Set the merge info for an agreement. |
AgreementsApi | UpdateAgreementNoteForApiUser | PUT /agreements/{agreementId}/me/note | Updates the latest note associated with an agreement. |
AgreementsApi | UpdateAgreementReminder | PUT /agreements/{agreementId}/reminders/{reminderId} | Updates an existing reminder for an agreement |
AgreementsApi | UpdateAgreementSecurityOptionsForParticipation | PUT /agreements/{agreementId}/members/participantSets/{participantSetId}/participants/{participantId}/securityOptions | Updates the security options for a particular participant. |
AgreementsApi | UpdateAgreementState | PUT /agreements/{agreementId}/state | Updates the state of an agreement identified by agreementId in the path. |
AgreementsApi | UpdateAgreementVisibility | PUT /agreements/{agreementId}/me/visibility | Updates the visibility of an agreement. |
AgreementsApi | UpdateFormFields | PUT /agreements/{agreementId}/formFields | Updates form fields of an agreement. This will replace all fields in AUTHORING mode agreements, and will replace all fields except for text tag generated fields in DRAFT mode agreements. |
AgreementsApi | UpdateParticipantSet | PUT /agreements/{agreementId}/members/participantSets/{participantSetId} | Updates the participant set of an agreement identified by agreementId in the path. |
- model.agreements.AgreementCancellationInfo
- model.agreements.AgreementCcInfo
- model.agreements.AgreementCreationInfo
- model.agreements.AgreementCreationResponse
- model.agreements.AgreementDocumentImageUrlsInfo
- model.agreements.AgreementDocuments
- model.agreements.AgreementEvent
- model.agreements.AgreementEventList
- model.agreements.AgreementFormFields
- model.agreements.AgreementInfo
- model.agreements.AgreementRejectionInfo
- model.agreements.AgreementStateInfo
- model.agreements.AgreementView
- model.agreements.AgreementViewInfo
- model.agreements.AgreementViews
- model.agreements.CCParticipantInfo
- model.agreements.CombinedDocumentPagesInfo
- model.agreements.CommonViewConfiguration
- model.agreements.ComposeViewConfiguration
- model.agreements.DelegatedParticipantInfo
- model.agreements.DelegatedParticipantSecurityOption
- model.agreements.DelegatedParticipantSetInfo
- model.agreements.DelegationResponse
- model.agreements.DetailedParticipantInfo
- model.agreements.DetailedParticipantSetInfo
- model.agreements.DeviceLocation
- model.agreements.DigitalSignatureInfo
- model.agreements.DisplayParticipantInfo
- model.agreements.DisplayParticipantSetInfo
- model.agreements.Document
- model.agreements.DocumentImageUrls
- model.agreements.DocumentImageUrlsInfo
- model.agreements.DocumentPageInfo
- model.agreements.DocumentUrl
- model.agreements.DocumentsImageUrlsInfo
- model.agreements.EmailOption
- model.agreements.ExternalId
- model.agreements.FileInfo
- model.agreements.FileUploadOptions
- model.agreements.FormField
- model.agreements.FormFieldConditionPredicate
- model.agreements.FormFieldConditionalAction
- model.agreements.FormFieldHyperlink
- model.agreements.FormFieldLocation
- model.agreements.FormFieldMergeInfo
- model.agreements.FormFieldPostInfo
- model.agreements.FormFieldPutInfo
- model.agreements.MembersInfo
- model.agreements.MergefieldInfo
- model.agreements.Note
- model.agreements.OfflineDeviceInfo
- model.agreements.PageImageUrl
- model.agreements.PageInfo
- model.agreements.ParticipantSecurityOption
- model.agreements.ParticipantSetInfo
- model.agreements.ParticipantSetMemberInfo
- model.agreements.PhoneInfo
- model.agreements.PostSignOption
- model.agreements.ReminderCreationResult
- model.agreements.ReminderInfo
- model.agreements.RemindersResponse
- model.agreements.SecurityOption
- model.agreements.SendOptions
- model.agreements.SenderInfo
- model.agreements.ShareCreationInfo
- model.agreements.ShareCreationInfoList
- model.agreements.ShareCreationResponse
- model.agreements.ShareCreationResponseList
- model.agreements.ShareParticipantInfo
- model.agreements.SigningUrl
- model.agreements.SigningUrlResponse
- model.agreements.SigningUrlSetInfo
- model.agreements.SupportingDocument
- model.agreements.URLFileInfo
- model.agreements.UserAgreement
- model.agreements.UserAgreements
- model.agreements.VaultingInfo
- model.agreements.VisibilityInfo
- All endpoints do not require authorization.
- Date formats can be changed in SwaggerDateConverter.cs.
namespace IO.Swagger.Client
{
/// <summary>
/// Formatter for 'date' swagger formats ss defined by full-date - RFC3339
/// see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types
/// </summary>
public class SwaggerDateConverter : IsoDateTimeConverter
{
/// <summary>
/// Initializes a new instance of the <see cref="SwaggerDateConverter" /> class.
/// </summary>
public SwaggerDateConverter()
{
// full-date = date-fullyear "-" date-month "-" date-mday
DateTimeFormat = "yyyy-MM-ddTHH:mm:ssZ";
}
}
}
- The enum names in CSharp SDK have missing underscores e.g. OUT_FOR_SIGNATURE will be OUTFORSIGNATURE.
Contributions are welcomed! Read the Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for more information.
It's recommended to create an instance of ApiClient per thread and per user (with baseUris fetched for user) in a multithreaded environment to avoid any potential issues.
You can report the issues in the issues section of the github repo.