openapi: 3.0.0 info: contact: email: contact@yousign.com name: Support url: https://yousign.com/contact description: Build the best experience of digital signature through your own platform. Increase your conversion rates, leverage your data and reduce your costs with Yousign API. license: name: proprietary url: https://yousign.com/terms title: Public Api v3 Applicant Electronic Seal Document API version: '3.0' servers: - description: Sandbox URL url: https://api-sandbox.yousign.app/v3 - description: Production URL url: https://api.yousign.app/v3 security: - bearerAuth: [] tags: - description: Document that is attached to the Electronic Seal. name: Electronic Seal Document paths: /electronic_seal_documents: post: description: 'Create an Electronic Seal Document. **â„šī¸ This endpoint accepts two request body formats — pick the one that matches your use case:** - 📁 `multipart/form-data` — upload a binary file. - 📝 `application/json` — create from a JSON payload referencing a previously sealed source document. **🔓 Endpoint access** - Environments: `production`, `sandbox` - API key scopes: `organization`, `workspace` - Plans: `pro`, `scale` - Add-ons (for production access): `Electronic Seal` or `Advanced Electronic Seal` or `Qualified Electronic Seal` ' operationId: upload-electronic_seal-document requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/CreateElectronicSealDocument' application/json: schema: $ref: '#/components/schemas/CreateElectronicSealDocumentFromJson' responses: '201': content: application/json: schema: $ref: '#/components/schemas/ElectronicSealDocument' description: Created headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad request headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '404': content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' description: Resource not found headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '415': content: application/json: schema: $ref: '#/components/schemas/UnsupportedMediaTypeResponse' description: UnsupportedMediaType headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: Create an Electronic Seal Document tags: - Electronic Seal Document /electronic_seal_documents/{electronicSealDocumentId}: delete: description: 'Permanently deletes an Electronic Seal Document attached to an Electronic Seal. This action is only possible when the eSeal is in done or error status. Not applicable to documents sealed with a Qualified eSeal. Warning: this operation is irreversible: once deleted, the document cannot be retrieved. The customer assumes full responsibility for this action. ' operationId: delete-electronic_seal_documents-id parameters: - description: Electronic Seal Document Id in: path name: electronicSealDocumentId required: true schema: $ref: '#/components/schemas/UUID' responses: '204': description: The resource was deleted successfully headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad request headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '404': content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' description: Resource not found headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: Delete an Electronic Seal Document tags: - Electronic Seal Document /electronic_seal_documents/{electronicSealDocumentId}/download: get: description: Download a given Electronic Seal Document. operationId: download-electronic-seal-document parameters: - description: Electronic Seal Document Id in: path name: electronicSealDocumentId required: true schema: $ref: '#/components/schemas/UUID' responses: '200': content: application/pdf: schema: format: binary type: string description: OK headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '404': content: application/json: schema: $ref: '#/components/schemas/NotFoundResponse' description: Resource not found headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: Download an Electronic Seal Document tags: - Electronic Seal Document components: headers: rateLimit-remaining: description: The number of requests remaining in the current rate limit window schema: type: integer rateLimit-reset: description: The remaining time until the rate limit resets in seconds schema: type: integer rateLimit-remaining-hour: description: The number of requests remaining in the current hour rate limit window schema: type: integer rateLimit-limit: description: The maximum number of requests that the consumer is permitted to make in a given period schema: type: integer retry-after: description: Retry the request after X seconds schema: type: integer rateLimit-remaining-minute: description: The number of requests remaining in the current minute rate limit window schema: type: integer rateLimit-limit-minute: description: The maximum number of requests that the consumer is permitted to make in an minute window schema: type: integer rateLimit-limit-hour: description: The maximum number of requests that the consumer is permitted to make in an hour window schema: type: integer schemas: InternalServerError: properties: type: example: about:blank type: string detail: example: Something wrong occurred. type: string required: - detail - type title: InternalServerError type: object TooManyRequestsResponse: properties: message: type: string required: - message title: TooManyRequestsResponse type: object UnsupportedMediaTypeResponse: properties: type: type: string detail: type: string required: - detail - type title: UnsupportedMediaTypeResponse type: object ElectronicSealDocument: properties: id: example: 1365283d-0ba5-4a08-9a58-9818ef428320 format: uuid type: string total_pages: minimum: 1 type: integer created_at: example: '2024-01-18T22:59:00Z' format: date-time type: string workspace_id: description: Unique identifier of the Workspace in which this Electronic Seal Document is scoped. example: ea11f308-4531-42f9-8218-96b37b7ebb19 format: uuid type: string required: - created_at - id - total_pages - workspace_id type: object MethodNotAllowed: properties: message: type: string required: - message title: MethodNotAllowed type: object NotFoundResponse: properties: type: type: string detail: type: string required: - detail - type title: NotFoundResponse type: object BadRequestResponse: properties: type: type: string detail: type: string required: - detail - type title: BadRequestResponse type: object ForbiddenResponse: properties: type: type: string detail: type: string required: - detail - type title: ForbiddenResponse type: object UnauthorizedResponse: properties: type: type: string detail: type: string required: - detail - type title: UnauthorizedResponse type: object CreateElectronicSealDocument: properties: file: description: 'Binary file. Accepted formats: PDF.' format: binary type: string password: description: The password required to unlock the document if it is protected. example: MyPa$$word type: string required: - file type: object UUID: description: The unique identifier for a resource. example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c format: uuid type: string CreateElectronicSealDocumentFromJson: oneOf: - $ref: '#/components/schemas/From_Electronic_Seal_Document' - $ref: '#/components/schemas/From_Signature_Request_Document' type: object From_Signature_Request_Document: description: Create an Electronic Seal Document from a Signature Request Document already signed. properties: signature_request_document_id: description: Id of the Signature Request Document, the Signature Request must be Done. example: 672a5a0b-ac65-407e-9da9-d34402bae974 format: uuid type: string required: - signature_request_document_id title: From Signature Request Document type: object From_Electronic_Seal_Document: description: Create an Electronic Seal Document from a previously sealed document. properties: electronic_seal_document_id: description: Id of the Electronic Seal Document. The Electronic Seal must be done to use its Electronic Seal Document. example: 672a5a0b-ac65-407e-9da9-d34402bae974 format: uuid type: string required: - electronic_seal_document_id title: From Electronic Seal Document type: object securitySchemes: bearerAuth: scheme: bearer type: http