openapi: 3.0.3 info: title: 'ugosign - API Documentation' description: '' version: 1.0.0 servers: - url: 'https://app.ugosign.com' paths: /api/v1/contacts: get: summary: 'Get a contact list' operationId: getAContactList description: "This endpoint gives you a list of all your company's contacts" parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Contacts post: summary: 'Create contact' operationId: createContact description: 'This endpoint allows you to create a new contact' parameters: [] responses: { } tags: - Contacts requestBody: required: true content: application/json: schema: type: object properties: given_name: type: string description: 'The given name of the contact.' example: Michel nullable: false family_name: type: string description: 'The family name of the contact.' example: BLANC nullable: false gender: type: string description: 'The gender of the contact. Example M.' example: ad nullable: false email: type: string description: 'The email of the contact.' example: test@ugosign.com nullable: false phone_number: type: string description: 'The phone number (international format) of the contact.' example: '+33645854785' nullable: false website: type: string description: 'The website of the contact.' example: 'https://ugosign.com' nullable: false street: type: string description: 'The postal address of the contact.' example: '24 RUE DU FAUBOURG SAINT HONORE' nullable: false street_2: type: string description: 'The postal address supplement of the contact.' example: 'Appartement 120' nullable: false postal_code: type: string description: 'The postal code of the contact.' example: '75008' nullable: false position: type: string description: 'The position of the contact.' example: Engineer nullable: false birthdate: type: date description: 'The birthdate of the contact.' example: '1990-01-01' nullable: false birthplace: type: string description: 'The birthplace of the contact.' example: Lisbon nullable: false private_comment: type: string description: 'A private comment about the contact.' example: 'Plays tennis on Saturdays' nullable: false organization_name: type: string description: 'The name of the company represented by the contact.' example: Hermès nullable: false siret_number: type: string description: 'The siret number of the company represented by the contact.' example: '57207639600017' nullable: false vat_number: type: string description: 'The siret number of the company represented by the contact.' example: FR52572076396 nullable: false rcs_number: type: string description: 'The siret number of the company represented by the contact.' example: '572 076 396 R.C.S. Paris' nullable: false required: - email '/api/v1/contacts/{contact_id}': get: summary: 'Get contact' operationId: getContact description: 'This endpoint allows you to view existing contacts' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Contacts patch: summary: 'Update contact' operationId: updateContact description: 'This endpoint allows you to update existing contacts' parameters: [] responses: { } tags: - Contacts requestBody: required: false content: application/json: schema: type: object properties: given_name: type: string description: 'The given name of the contact.' example: Michel nullable: false family_name: type: string description: 'The family name of the contact.' example: BLANC nullable: false email: type: string description: 'The email of the contact.' example: test@ugosign.com nullable: false phone_number: type: string description: 'The phone number (international format) of the contact. .' example: '+33645854785' nullable: false street: type: string description: 'The postal address of the contact.' example: '24 RUE DU FAUBOURG SAINT HONORE' nullable: false street_2: type: string description: 'The postal address supplement of the contact.' example: 'Appartement 120' nullable: false city: type: string description: 'The city of the contact.' example: Paris nullable: false postal_code: type: string description: 'The postal code of the contact.' example: '75008' nullable: false private_comment: type: string description: 'A private comment about the contact.' example: 'Plays tennis on Saturdays' nullable: false organization_name: type: string description: 'The name of the company represented by the contact.' example: Hermès nullable: false siret_number: type: string description: 'The siret number of the company represented by the contact.' example: '57207639600017' nullable: false vat_number: type: string description: 'The siret number of the company represented by the contact.' example: FR52572076396 nullable: false rcs_number: type: string description: 'The siret number of the company represented by the contact.' example: '572 076 396 R.C.S. Paris' nullable: false delete: summary: 'Delete contact' operationId: deleteContact description: 'This endpoint allows you to delete contacts' parameters: [] responses: { } tags: - Contacts parameters: - in: path name: contact_id description: 'The ID of the contact.' example: 9b4b7ba9-3006-4c5b-89ec-00ea695f2a40 required: true schema: type: string /api/v1/contracts: get: summary: 'Get contract list' operationId: getContractList description: "This endpoint gives you a list of all your company's contracts" parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Contracts post: summary: 'Create contract' operationId: createContract description: 'This endpoint allows you to create a new contract' parameters: [] responses: { } tags: - Contracts requestBody: required: true content: application/json: schema: type: object properties: title: type: string description: 'The contract title.' example: 'Certificat de formation' nullable: false description: type: string description: 'The contract description.' example: 'Formation immobilière' nullable: true content: type: string description: 'The contract content in HTML format.' example: debitis nullable: false footer: type: string description: 'The contract footer in HTML format.' example: ea nullable: true tags: type: list description: 'The contract tags, comma separated.' example: '"business,closed"' nullable: true author_id: type: string description: 'The contract author.' example: 9b9da901-7bab-43ea-b6fb-4bba84cc5097 nullable: true representative_id: type: string description: 'The contract representative.' example: 5a9da901-7bab-43ea-b6fb-4bba84cc5087 nullable: true folder_id: type: string description: 'The contract folder.' example: 8e6ua901-7bab-43ea-b6fb-4bba84cc4444 nullable: true confirm_customer_data: type: boolean description: 'Enable contact data confirmation.' example: true nullable: true allow_refusal: type: boolean description: 'Enable refusal.' example: false nullable: true initials: type: boolean description: 'Affix the initials.' example: false nullable: true reminder: type: integer description: 'Set reminder. Only 24, 48 or 72.' example: 24 nullable: true external_id: type: string description: '' example: placeat nullable: true external_revision_id: type: string description: '' example: inventore nullable: true required: - title - content /api/v1/contracts/search: get: summary: 'Search a contract' operationId: searchAContract description: "Allows you to search for a contract using a dynamic field (`title`, `external_id`, or `id`).\nReturns the corresponding contract or `null` if it doesn't exist." parameters: - in: query name: field description: 'Represents the search field. Must be `title`, `external_id`, or `id`.' example: external_id required: false schema: type: string description: 'Represents the search field. Must be `title`, `external_id`, or `id`.' example: external_id nullable: false - in: query name: s description: 'The value to search for in the specified field.' example: abc123 required: false schema: type: string description: 'The value to search for in the specified field.' example: abc123 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Contracts '/api/v1/contracts/{contract_id}/customVars': get: summary: 'Get contract custom vars' operationId: getContractCustomVars description: 'This endpoint allows you to get custom vars contract' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Contracts parameters: - in: path name: contract_id description: 'The ID of the contract.' example: 9d931ec9-3028-44d7-b47c-e019d9fe8b92 required: true schema: type: string '/api/v1/contracts/{contract_id}': get: summary: 'Get contract' operationId: getContract description: 'This endpoint allows you to view existing contracts' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Contracts patch: summary: 'Update contract' operationId: updateContract description: 'This endpoint allows you to update existing contracts' parameters: [] responses: { } tags: - Contracts requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: 'The contract title.' example: 'Certificat de formation' nullable: false description: type: string description: 'The contract description.' example: 'Formation immobilière' nullable: false content: type: string description: 'The contract content in HTML format.' example: blanditiis nullable: false footer: type: string description: 'The contract footer in HTML format.' example: quae nullable: false tags: type: list description: 'The contract tags, comma separated.' example: '"business,closed"' nullable: false author_id: type: string description: 'The contract author.' example: 9b9da901-7bab-43ea-b6fb-4bba84cc5097 nullable: false representative_id: type: string description: 'The contract representative.' example: 5a9da901-7bab-43ea-b6fb-4bba84cc5087 nullable: false folder_id: type: string description: 'The contract folder.' example: 8e6ua901-7bab-43ea-b6fb-4bba84cc4444 nullable: false confirm_customer_data: type: boolean description: 'Enable contact data confirmation.' example: true nullable: false allow_refusal: type: boolean description: 'Enable refusal.' example: false nullable: false initials: type: boolean description: 'Affix the initials.' example: true nullable: false reminder: type: integer description: 'Set reminder. Only 24, 48 or 72.' example: 24 nullable: false delete: summary: 'Delete contract' operationId: deleteContract description: 'This endpoint allows you to delete contracts' parameters: [] responses: { } tags: - Contracts parameters: - in: path name: contract_id description: 'The ID of the contract.' example: 9d931ec9-3028-44d7-b47c-e019d9fe8b92 required: true schema: type: string /api/status: get: summary: '' operationId: getApiStatus description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok properties: status: type: string example: ok tags: - Endpoints /api/v1/token-check: get: summary: '' operationId: getApiV1TokenCheck description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints /api/v1/gdrive-callback: post: summary: '' operationId: postApiV1GdriveCallback description: '' parameters: [] responses: { } tags: - Endpoints '/api/v1/envelopes/{status}': get: summary: 'Get Envelope list' operationId: getEnvelopeList description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Envelopes parameters: - in: path name: status description: 'Optional parameter.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: qui '/api/v1/envelopes/{envelope}': get: summary: 'Get Envelope' operationId: getEnvelope description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Envelopes parameters: - in: path name: envelope description: 'The envelope.' example: 9b1b6720-90a3-4d7e-aa4b-6ae4eb21189f required: true schema: type: string /api/v1/folders: get: summary: 'Get folders list' operationId: getFoldersList description: "This endpoint gives you a list of all your company's folders" parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Folders post: summary: 'Create folder' operationId: createFolder description: 'This endpoint allows you to create a new folder' parameters: [] responses: { } tags: - Folders requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: 'The title of the folder.' example: Invoices nullable: false parent_id: type: string description: 'The uuid parent folder of the new folder.' example: aperiam nullable: false /api/v1/members: get: summary: 'Get members list' operationId: getMembersList description: "This endpoint gives you a list of all your company's members" parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Members /api/v1/members/representatives: get: summary: 'Get representatives list' operationId: getRepresentativesList description: "This endpoint gives you a list of all your company's representatives" parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Members /api/v1/organization: get: summary: 'Get organization' operationId: getOrganization description: 'This endpoint gives you an organization summary' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Organization /api/v1/signatures: post: summary: 'Create signature request' operationId: createSignatureRequest description: 'This endpoint allows you to create a new signature request' parameters: [] responses: { } tags: - Signatures requestBody: required: true content: application/json: schema: type: object properties: contract_id: type: string description: 'Related contract ID of the signature request.' example: 5a9da901-7bab-43ea-b6fb-4bba84cc5087 nullable: false recipients: type: array description: 'An array of recipient emails.' example: - abcd@mail.com - defg@mail.com items: type: string initiator_id: type: string description: 'The signature request initiator ID.' example: 9b9da901-7bab-43ea-b6fb-4bba84cc5097 nullable: false attachments: type: files description: 'The signature request attachments.' example: optio nullable: false message: type: string description: 'Personal message of the signature request in HTML format.' example: dolore nullable: false verification_type: type: integer description: 'The verification type of the signature request (1: Email, 2: SMS).' example: 6 nullable: false expiration_date: type: date description: 'The expiration date of the signature request.' example: '2024-11-03' nullable: false confirm_customer_data: type: boolean description: 'Enable contact data confirmation.' example: true nullable: false allow_refusal: type: boolean description: 'Enable refusal.' example: false nullable: false initials: type: boolean description: 'Affix the initials.' example: true nullable: false reminder: type: integer description: 'Reminder in hours (24, 48, 72)' example: 9 nullable: false organization_presence: type: boolean description: 'Presence of the company as a signatory' example: true nullable: false written_text: type: string description: 'Text to be recopied by the signatory' example: accusamus nullable: false required: - contract_id - recipients tags: - name: Contacts description: '' - name: Contracts description: '' - name: Endpoints description: '' - name: Envelopes description: '' - name: Folders description: '' - name: Members description: '' - name: Organization description: '' - name: Signatures description: '' components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' security: - default: []