openapi: 3.1.0 info: title: Signeasy Embedded Envelopes API version: '3.0' description: 'RESTful eSignature API (v3) for the Signeasy contract and signature platform. Send documents for signature (envelopes), embed signing and sending inside your own app via iframes, manage reusable templates with merge fields, upload original documents, fetch the authenticated user, and receive signature lifecycle events via webhooks. Confirmed endpoints (paths and methods) were extracted from the OpenAPI fragments embedded in the public Signeasy API reference at docs.signeasy.com. A small number of endpoints (marked with x-modeled: true) are modeled from the guides and the envelope object documentation where the public reference does not embed a machine-readable definition; verify these against the developer portal. All requests use the base URL https://api.signeasy.com/v3 and are authenticated with an OAuth 2.0 Bearer access token (sandbox or live).' contact: name: Signeasy API Support url: https://docs.signeasy.com/support license: name: Proprietary url: https://signeasy.com/terms-of-service servers: - url: https://api.signeasy.com/v3 description: Signeasy API v3 (sandbox and live tokens use the same host) security: - bearerAuth: [] tags: - name: Envelopes description: Signature requests composed of originals and templates. paths: /rs/envelope/: post: operationId: createEnvelope tags: - Envelopes summary: Create or send an envelope description: Send a signature request containing one or more original documents and/or templates to up to 45 recipients. Set embedded_signing to true to create an embedded request (no emails sent by Signeasy) and generate signing URLs yourself. requestBody: required: true content: application/json: schema: type: object properties: originals: type: array description: Original document IDs to include in the envelope. items: type: object templates: type: array description: Template IDs to include in the envelope. items: type: object recipients: type: array description: Recipients (signers) of the envelope, up to 45. items: type: object embedded_signing: type: boolean description: When true, creates an embedded signature request; Signeasy sends no recipient emails. message: type: string expiry: type: integer description: Days until the signature request expires. responses: '200': description: Envelope created. Returns the pending file (envelope) id. content: application/json: schema: $ref: '#/components/schemas/Envelope' '401': description: Missing or invalid access token. /rs/envelope/{pending_file_id}: get: operationId: getEnvelope x-modeled: true tags: - Envelopes summary: Retrieve the envelope object description: Fetch a signature request (pending file / envelope) and its status. Status is one of incomplete, complete, recipient_declined, or canceled; each recipient carries a status of viewed, not_viewed, declined, or finalized. Path modeled from the envelope object documentation. parameters: - name: pending_file_id in: path required: true schema: type: integer description: The pending file (envelope) id returned when the envelope was created. responses: '200': description: The envelope object. content: application/json: schema: $ref: '#/components/schemas/Envelope' '404': description: Envelope not found. /rs/envelope/{pending_file_id}/cancel: post: operationId: cancelEnvelope tags: - Envelopes summary: Cancel (void) an envelope signature request parameters: - name: pending_file_id in: path required: true schema: type: integer responses: '200': description: Signature request canceled. '404': description: Envelope not found. /rs/{rs_id}/cancel: post: operationId: cancelSignatureRequest tags: - Envelopes summary: Cancel a signature request description: Cancel a signature request by its request id (legacy single-document flow). parameters: - name: rs_id in: path required: true schema: type: integer responses: '200': description: Signature request canceled. /rs/envelope/signed/{signed_id}/{source_id}/download: get: operationId: downloadSignedFile tags: - Envelopes summary: Download a signed file within an envelope as PDF parameters: - name: signed_id in: path required: true schema: type: integer - name: source_id in: path required: true schema: type: integer responses: '200': description: The signed document as a PDF. content: application/pdf: schema: type: string format: binary components: schemas: Envelope: type: object description: A signature request (pending file) composed of one or more documents sent to up to 45 signers. properties: id: type: integer description: The pending file id of the signature request. status: type: string enum: - incomplete - complete - recipient_declined - canceled recipients: type: array items: type: object properties: email: type: string format: email status: type: string enum: - viewed - not_viewed - declined - finalized request_info: type: object securitySchemes: bearerAuth: type: http scheme: bearer description: OAuth 2.0 access token (sandbox or live) passed as a Bearer token in the Authorization header.