openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 257 kB
JSON
{"openapi":"3.0.0","servers":[{"description":"Replace accountname with your account name","url":"https://accountname.exavault.com/api/v2"}],"info":{"contact":{"email":"support@exavault.com","name":"ExaVault Support"},"description":"ExaVaults API allows you to incorporate ExaVaults suite of file transfer and user management tools into your own application.\\nExaVault supports both POST (recommended when requesting large data sets) and GET operations, and requires an API key in order to use.","title":"ExaVault","version":"2.0","x-apisguru-categories":["storage"],"x-logo":{"backgroundColor":"#222222","url":"https://twitter.com/ExaVaultInc/profile_image?size=original"},"x-origin":[{"converter":{"url":"https://github.com/mermade/oas-kit","version":"2.6.0"},"format":"openapi","url":"https://exavault-website.cdn.prismic.io/exavault-website/2d2d871e-394d-433e-9305-f38b6656f279_evapi_2.0_public.yaml","version":"3.0"}],"x-providerName":"exavault.com"},"externalDocs":{"url":"https://www.exavault.com/developer/"},"tags":[{"description":"This section contains information on how to authenticate and logout from the API. **All ExaVault API calls (other than the authenticateUser method itself) require an access token.**","name":"Authentication"},{"description":"The file and folder management APIs allow you to work with the core of your account. You can upload or download files and create, move and delete files & folders, to name a few options.","name":"Resources"},{"description":"The activity APIs allow you to get logs from your account. We track multiple types of under the umbrellas; __Activity Logs__ that show an action a user performed or initiated on a file, folder or the account. __Webhooks Logs__ that show records of all outbound webhook calls made by ExaVault. Both can be optionally filtered to only return specific data you’re looking for.","name":"Activity"},{"description":"The user APIs allow you to create, update and delete users from your account. Users can be assigned unique permissions, set to expire after a certain time period, and more.","name":"Users"},{"description":"The sharing APIs allow you create and manage shares. Shares can be used to send a single file, share a folder, or set up a receive folder and its input form.","name":"Shares"},{"description":"The notifications APIs allow you to set up and manage notifications in your account. When an action is taken on a file folder, you can be notified via email or webhook.","name":"Notifications"},{"description":"The email lists APIs allow you to manage email lists that can be used for speeding up actions within the ExaVault File Manager such as adding your marketing team, Tom, Jane, and Harry, to a shared folder in a single action instead of three.","name":"Email Lists"},{"description":"The account APIs allow you review and change account settings. Many account settings will have immediate effects on all current and future users, so consider adding a user facing confirmation step before sending an update call.","name":"Account"},{"description":"THe SSH Keys APIs allow you to manage SSH keys for users in your account. You can upload the contents of a public key for a user, get information for keys which are already defined, and remove a key from a user.","name":"SSH Keys"},{"description":"The forms APIs allow you to manage the inputs and data submitted through receive folder forms.","name":"Form"},{"description":"The recipients APIs allow to retrieve, delete, or resend invitations for recipients of shared folders.","name":"Recipients"},{"description":"The emails APIs allow you to generate welcome emails for account users and referral emails.","name":"Email"}],"paths":{"/account":{"get":{"description":"Get settings for your account, such as current space usage, webhooks settings, welcome email content and IP address restrictions.","operationId":"getAccount","parameters":[{"description":"API Key required for the request","in":"header","name":"ev-api-key","required":true,"schema":{"example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","type":"string"}},{"description":"Access Token for the request","in":"header","name":"ev-access-token","required":true,"schema":{"example":"19853ef63a0bc348024a9e4cfd4a92520d2dfd04e88d8679fb1ed6bc551593d1","type":"string"}},{"description":"Related records to include in the response. Valid option is **masterUser**","in":"query","name":"include","schema":{"example":"masterUser","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":{"attributes":{"accountName":"exampleaccount","accountOnboarding":true,"allowedIp":null,"branding":true,"clientId":1,"complexPasswords":false,"created":"2025-04-15T13:50:47.328Z","customDomain":false,"customSignature":null,"externalDomains":null,"maxUsers":5,"modified":"2025-04-15T13:50:47.328Z","quota":{"bandwidthLimit":9223372036854776000,"bandwidthUsed":0,"diskLimit":107374182400,"diskUsed":4770252339,"noticeEnabled":false,"noticeThreshold":90,"transactionsLimit":120000,"transactionsNoticeEnabled":false,"transactionsNoticeThreshold":90},"secureOnly":false,"showReferralLinks":true,"status":1,"userCount":4,"welcomeEmailContent":"\"Great news, your new account is ready!\\n\\nFor your records, we've listed information you'll use to log in below:\\n\\nFTP Server: [[ftpserver]]\\n\\nUsername (Web and FTP access): [[username]]\\n\\n[[setpassword]]\"\n","welcomeEmailSubject":"ExaVault File Sharing Account"},"id":7,"included":[{"attributes":{"accessTimestamp":"2025-04-15T13:50:47.328Z","accountId":2,"accountName":"examplemasteraccount","created":"2025-04-15T13:50:47.328Z","email":"user@example.com","expiration":null,"firstLogin":false,"homeDir":"/","modified":"2025-04-15T13:50:47.328Z","nickname":"examplenickname","onboarding":true,"permissions":{"changePassword":true,"delete":true,"deleteFormData":true,"download":true,"list":true,"modify":true,"notification":true,"share":true,"upload":true,"viewFormData":true},"role":"master","status":1,"timeZone":"UTC","username":"examplemasteruser"},"id":1,"relationships":{"homeResource":{"data":{"id":2554051,"type":"resource"}},"ownerAccount":{"data":{"id":124437,"type":"account"}}},"type":"user"}],"relationships":{"masterUser":{"data":{"id":1,"type":"user"}}},"type":"account"},"responseStatus":200},"schema":{"$ref":"#/components/schemas/AccountResponse"}}},"description":"Successful operation"}},"summary":"Get account settings","tags":["Account"]},"patch":{"description":"Update account settings, such as welcome email content, IP address restrictions, webhooks settings and secure password requirements.\n\n**Notes**\n\n- You must have [admin-level access](/docs/account/04-users/00-introduction#managing-user-roles-and-permissions) to change account settings.","operationId":"updateAccount","parameters":[{"description":"API Key required to make the API call.","example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"19853ef63a0bc348024a9e4cfd4a92520d2dfd04e88d8679fb1ed6bc551593d1","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"accountOnboarding":true,"allowedIpRanges":[{"ipEnd":"67.208.64.254","ipStart":"67.208.64.228"}],"brandingSettings":{"companyName":"Example File Transfer","theme":"light"},"complexPasswords":true,"customSignature":"Please consider the planet before printing this email","emailContent":"Greetings, ExampleUser! Your account is ready for you to start transferring files right now. Here's your link to set up your account [[setpassword]] Henceforth, you shall be known as [[username]]","emailSubject":"Welcome to the Example Account","externalDomain":"https://example.com/files","quota":{"noticeEnabled":true,"noticeThreshold":90,"transactionsNoticeEnabled":true,"transactionsNoticeThreshold":80},"secureOnly":true,"showReferralLinks":false},"schema":{"properties":{"accountOnboarding":{"description":"Whether extra help popups can be enabled for users in the web file manager.","example":true,"type":"boolean"},"allowedIpRanges":{"description":"IP Address Ranges for restricting account access","items":{"properties":{"ipEnd":{"format":"ipv4","type":"string"},"ipStart":{"format":"ipv4","type":"string"}},"type":"object"},"type":"array"},"brandingSettings":{"properties":{"companyName":{"description":"Custom company name to include in copyright and title bar.","type":"string"},"customEmail":{"description":"Address to use as sender of email messages generated by ExaVault","example":"custom@example.com","format":"email","type":"string"},"theme":{"description":"Color scheme for web file manager. Valid options are **default**, **light** and **dark**","example":"default","type":"string"}},"title":"BrandingSettingsValues","type":"object"},"complexPasswords":{"description":"Whether to require complex passwords for all passwords.","example":false,"type":"boolean"},"customSignature":{"description":"Signature to be automatically added to the bottom of emails generated by the account.","type":"string"},"emailContent":{"description":"Content of welcome email template.","example":"Great news, your new account is ready! For your records, we've listed information you'll use to log in below: FTP Server: [[ftpserver]] Username (Web and FTP access): [[username]] [[setpassword]]","type":"string"},"emailSubject":{"description":"Subject line for welcome emails","example":"ExaVault File Sharing Account","type":"string"},"externalDomain":{"description":"Custom address used for web file manager. Not available for all account types.","type":"string"},"quota":{"description":"","properties":{"noticeEnabled":{"description":"Whether the system should email the account owner if the account storage exceeds the noticeThreshold value. Storage notice emails are sent no mo once per day.","type":"boolean"},"noticeThreshold":{"description":"Percent of account storage that would trigger a notice email. Must be a whole number between 70 and 100 (inclusive).","type":"integer"},"transactionsNoticeEnabled":{"description":"Whether the system should email the account owner if the daily transaction usage exceeds the transactionsNoticeThreshold value. Transaction notice emails are sent no more than once per day.","type":"boolean"},"transactionsNoticeThreshold":{"description":"Percent of daily transaction usage that would trigger a notice email. Must be a whole number between 70 and 100 (inclusive).","type":"integer"}},"title":"AccountQuotaValues","type":"object"},"secureOnly":{"description":"Whether unencrypted FTP connections should be denied for the account.","example":false,"type":"boolean"},"showReferralLinks":{"description":"Whether to display links for others to sign up on share views and invitation emails","example":false,"type":"boolean"}},"title":"UpdateAccountRequestBody","type":"object"}}},"description":"Update Account Settings"},"responses":{"200":{"content":{"application/json":{"example":{"data":{"attributes":{"accountName":"exampleaccount","accountOnboarding":true,"allowedIp":[],"branding":true,"brandingSettings":{"accountName":"exampleaccount","companyName":"Example Company","created":"2025-04-15T13:50:47.328Z","customEmail":"custom@example.com","logo":"examplelogo.png","logoExt":"png","modified":"2025-04-15T13:50:47.328Z","theme":"default","verifiedDomain":null,"verifiedDomainId":null,"verifiedDomainValid":false},"clientId":1,"complexPasswords":false,"created":"2025-04-15T13:50:47.328Z","customDomain":false,"customSignature":null,"externalDomains":null,"maxUsers":5,"modified":"2025-04-15T13:50:47.328Z","quota":{"bandwidthLimit":9223372036854776000,"bandwidthUsed":0,"diskLimit":107374182400,"diskUsed":4770252339,"noticeEnabled":true,"noticeThreshold":90,"transactionsLimit":120000,"transactionsNoticeEnabled":true,"transactionsNoticeThreshold":80},"secureOnly":false,"showReferralLinks":true,"status":1,"userCount":4,"welcomeEmailContent":"\"Great news, your new account is ready!\\n\\nFor your records, we've listed information you'll use to log in below:\\n\\nFTP Server: [[ftpserver]]\\n\\nUsername (Web and FTP access): [[username]]\\n\\n[[setpassword]]\"\n","welcomeEmailSubject":"ExaVault File Sharing Account"},"id":6,"relationships":{"masterUser":{"data":{"id":1,"type":"user"}}},"type":"account"},"included":[],"responseStatus":200},"schema":{"$ref":"#/components/schemas/AccountResponse"}}},"description":"Successful operation"}},"summary":"Update account settings","tags":["Account"]}},"/activity/session":{"get":{"description":"Returns the detailed activity logs for your account. Optional query paramaters will filter the returned results based on a number of options including usernames, activity types, or date ranges. \n\n**NOTE:** Total Results will always return as 0 to avoid quering data you're not using and stay as performant as possible. \n \n**Operation Types**\nSession activity is logged with an operation type that is different from what is visible through the [activity log interface in the web file manager](/docs/account/10-activity-logs/00-activity-logs). Consult the table below to compare the two:\n\n| File Manager Value | API Value | Notes |\n|-----|----|---|\n| Connect | PASS | |\n| Disconnect | EXIT | |\n| Upload | STOR | |\n| Download | RETR | |\n| Delete | DELE | |\n| Create Folder | MKD | |\n| Rename | RNTO | |\n| Move | MOVE | |\n| Copy | COPY | |\n| Compress | COMPR | |\n| Extract | EXTRACT | |\n| Shared Folders | SHARE | |\n| Send Files | SEND | |\n| Receive Files | RECV | |\n| _N/A_ | EDIT\\_SEND | Update send. Not shown in file manager |\n| Update Share | EDIT\\_SHARE| | \n| Update Receive | EDIT\\_RECV | |\n| Delete Send | DELE\\_SEND | |\n| Delete Receive | DELE\\_RECV | |\n| Delete Share | DELE\\_SHARE | |\n| Create Notification | NOTIFY | |\n| Update Notification | EDIT\\_NTFY| |\n| Delete Notification | DELE\\_NTFY | |\n| Create User | USER | |\n| Update User | EDIT\\_USER | |\n| Delete User | DELE\\_USER | |\n| _N/A_ | DFA | Create direct link. Not shown in file manager |\n| _N/A_ | EDIT\\_DFA | Update direct link options. Not shown in file manager |\n| _N/A_ | DELE\\_DFA | Deactivate direct link. Not shown in file manager|\n","operationId":"getSessionLogs","parameters":[{"description":"API Key","in":"header","name":"ev-api-key","required":true,"schema":{"example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","type":"string"}},{"description":"Access Token","in":"header","name":"ev-access-token","required":true,"schema":{"example":"19853ef63a0bc348024a9e4cfd4a92520d2dfd04e88d8679fb1ed6bc551593d1","type":"string"}},{"description":"Start date of the filter data range","example":"2025-04-15T13:50:47.328Z","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"End date of the filter data range","example":"2025-04-15T13:50:47.328Z","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"Used to filter session logs by ip address.","example":"127.0.0.1","in":"query","name":"ipAddress","schema":{"type":"string"}},{"description":"Username used for filtering a list","example":"jdoe","in":"query","name":"username","schema":{"type":"string"}},{"description":"Path used to filter records","example":"/folder*","in":"query","name":"path","schema":{"type":"string"}},{"description":"Filter session logs for operation type (see table above for acceptable values)","example":"EDIT_SHARE","in":"query","name":"type","schema":{"type":"string"}},{"description":"Offset of the records list","example":100,"in":"query","name":"offset","schema":{"type":"integer"}},{"description":"Limit of the records list","example":10,"in":"query","name":"limit","schema":{"type":"integer"}},{"description":"Comma separated list sort params","in":"query","name":"sort","schema":{"example":"-date","type":"string"}}],"responses":{"200":{"content":{"application/json":{"examples":{"example-1":{"value":{"data":[{"attributes":{"bytesTransferred":10815676,"created":"2025-04-15T13:50:47.328Z","duration":5,"fileName":"/test2/Cassandra2020The20Definitive20Guide.2030947496.pdf","fileSource":"","ipAddress":"185.223.113.224","operation":"PASS","protocol":"web","sessionId":"5da9b4a8bd961dfa0a56fa0dc15aaffe57069271b389e","status":"-","username":"exavault"},"id":12345,"type":"sessionActivity"}],"responseStatus":200,"returnedResults":2,"totalResults":2}}},"schema":{"$ref":"#/components/schemas/SessionActivityResponse"}}},"description":"Successful operation"}},"summary":"Get activity logs","tags":["Activity"]}},"/activity/webhooks":{"get":{"description":"Returns the webhook logs for your account. Use the available query parameters to filter the listing of activity that is returned.\n\n**NOTE:** Total Results will always return as 0 to avoid querying data you're not using and stay as performant as possible. \n\n**Event Types**\n\nWebhooks are triggered by enabled event types for your account, which are configured on the [developer settings page](/docs/account/09-settings/06-developer-settings). Not all event types may be allowed for your account type. These are the valid options for event types:\n\n- resources.upload\n- resources.download\n- resources.delete\n- resources.createFolder\n- resources.rename\n- resources.move\n- resources.copy\n- resources.compress\n- resources.extract\n- shares.formSubmit\n","operationId":"getWebhookLogs","parameters":[{"description":"API Key","in":"header","name":"ev-api-key","required":true,"schema":{"example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","type":"string"}},{"description":"Access Token","in":"header","name":"ev-access-token","required":true,"schema":{"example":"19853ef63a0bc348024a9e4cfd4a92520d2dfd04e88d8679fb1ed6bc551593d1","type":"string"}},{"description":"Earliest date of entries to include in list","in":"query","name":"startDate","schema":{"format":"date-time","type":"string"}},{"description":"Latest date of entries to include in list","in":"query","name":"endDate","schema":{"format":"date-time","type":"string"}},{"description":"Webhook listener endpoint","in":"query","name":"endpointUrl","schema":{"format":"uri","type":"string"}},{"description":"Type of activity that triggered the webhook attempt","in":"query","name":"event","schema":{"example":"resources.upload","type":"string"}},{"description":"Response code from the webhook endpoint","example":200,"in":"query","name":"statusCode","schema":{"example":200,"type":"integer"}},{"description":"Path of the resource that triggered the webhook attempt","example":"/folder*","in":"query","name":"resourcePath","schema":{"example":"/Production","type":"string"}},{"description":"Filter by triggering username.","in":"query","name":"username","schema":{"example":"exampleuser","type":"string"}},{"description":"Records to skip before returning results.","example":100,"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}},{"description":"Limit of the records list","example":10,"in":"query","name":"limit","schema":{"example":100,"type":"integer"}},{"description":"Comma separated list sort params","example":"-date,event","in":"query","name":"sort","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"attributes":{"attempt":1,"created":"2025-04-15T13:50:47.329Z","endpointUrl":"https://example.com/api/webhook","event":"Upload","response":"","responseSize":0,"status":200},"id":2602725,"type":"webhookActivity"}],"responseStatus":200,"returnedResults":1,"totalResults":1469},"schema":{"$ref":"#/components/schemas/WebhookActivityResponse"}}},"description":"Successful operation"}},"summary":"Get webhook logs","tags":["Activity"]},"parameters":[]},"/email-lists":{"get":{"description":"List all email groups for authenticated user","operationId":"getEmailLists","parameters":[{"description":"API Key required to make the API call.","example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"Related record types to include in the response. Valid option is `ownerUser`","in":"query","name":"include","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"attributes":{"created":"2025-04-15T13:50:47.329Z","emails":["exavault@example.com","exavault+1@example.com"],"modified":"2025-04-15T13:50:47.329Z","name":"ExaVault Test"},"id":27,"relationships":{"ownerUser":{"data":{"id":124437,"type":"user"}}},"type":"emailList"}],"included":[{"attributes":{"accessTimestamp":"2025-04-15T13:50:47.329Z","accountName":"example-acct","created":"2025-04-15T13:50:47.329Z","email":"example@exavault-example.com","expiration":"2025-04-15T13:50:47.329Z","firstLogin":null,"homeDir":"/","modified":"2025-04-15T13:50:47.329Z","nickname":"example-user","onboarding":false,"permissions":{"changePassword":true,"delete":true,"deleteFormData":true,"download":true,"list":true,"modify":true,"notification":true,"share":true,"upload":true,"viewFormData":true},"role":"admin","status":1,"timeZone":"America/Los_Angeles","username":"example-user"},"id":124437,"type":"user"}],"responseStatus":200,"returnedResults":1,"totalResults":1},"schema":{"$ref":"#/components/schemas/EmailListCollectionResponse"}}},"description":"Successful operation"}},"summary":"Get all email groups","tags":["Email Lists"]},"post":{"description":"Create a new email list. Among other things, email lists can be used to send files or share folders with a group of email addresses at once.","operationId":"addEmailList","parameters":[{"description":"API Key required to make the API call.","example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"value":{"emails":["exavault@example.com","exavault+1@example.com"],"name":"ExaVault Test"}},"schema":{"properties":{"emails":{"description":"Array of email addresses to include in the email list. ","example":["johns@example.com","jdoe@example.com"],"items":{"type":"string"},"type":"array"},"name":{"description":"Name of the email list. ","example":"My friends list","type":"string"}},"required":["name","emails"],"title":"AddEmailListRequestBody","type":"object"}}}},"responses":{"201":{"content":{"application/json":{"example":{"data":{"attributes":{"created":"2025-04-15T13:50:47.329Z","emails":["exavault@example.com","exavault+1@example.com"],"modified":"2025-04-15T13:50:47.329Z","name":"ExaVault Test"},"id":27,"relationships":{"ownerUser":{"data":{"id":124437,"type":"user"}}},"type":"emailList"},"included":[],"responseStatus":201},"schema":{"$ref":"#/components/schemas/EmailListResponse"}}},"description":"Successful operation"}},"summary":"Create new email list","tags":["Email Lists"]}},"/email-lists/{id}":{"delete":{"description":"Permanently delete an email group. This action is not reversible. We recommend making a user confirm this action before sending the API call. ","operationId":"deleteEmailListById","parameters":[{"description":"API Key required to make the API call.","example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"ID of the email list to delete","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[],"responseStatus":200},"schema":{"$ref":"#/components/schemas/EmptyResponse"}}},"description":"Successful Operation"}},"summary":"Delete an email group with given id","tags":["Email Lists"]},"get":{"description":"Retrieve all the details of a specific email list including it's name, when it was created and all the email addresses that belong to the group.","operationId":"getEmailListById","parameters":[{"description":"API Key required to make the API call.","example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"ID of the email list to return.","in":"path","name":"id","required":true,"schema":{"type":"integer"}},{"description":"Related record types to include in the response. Valid option is `ownerUser`","in":"query","name":"include","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":{"attributes":{"created":"2025-04-15T13:50:47.329Z","emails":["test1@example.com","test2@example.com"],"name":"My Test List"},"id":29,"relationships":{"ownerUser":{"data":{"id":125391,"type":"user"}}},"type":"emailList"},"included":[{"attributes":{"accessTimestamp":"2025-04-15T13:50:47.329Z","accountName":"example-acct","created":"2025-04-15T13:50:47.329Z","email":"admin@exavault-example.com","expiration":null,"firstLogin":null,"homeDir":"/","modified":"2025-04-15T13:50:47.329Z","nickname":"example-admin","onboarding":false,"permissions":{"changePassword":true,"delete":true,"deleteFormData":true,"download":true,"list":true,"modify":true,"notification":true,"share":true,"upload":true,"viewFormData":true},"role":"admin","status":1,"timeZone":"America/Los_Angeles","username":"example-admin"},"id":125391,"type":"user"}],"responseStatus":200},"schema":{"$ref":"#/components/schemas/EmailListResponse"}}},"description":"Successful Operation"}},"summary":"Get individual email group","tags":["Email Lists"]},"patch":{"description":"Add or remove emails from an email list that can be used to send and share files with groups. \n\n**Notes**\n\n*This call will **replace** your current email list in its entirety.* If you want to keep any existing emails on the list, be sure to submit the call with any current emails you want to keep on the list. ","operationId":"updateEmailListById","parameters":[{"description":"API Key required to make the API call.","example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"ID of the email list to update.","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"example":{"emails":["test@example.com","test+1@example.com","newaddress@example.com"],"name":"Renamed Test Email List"},"schema":{"properties":{"emails":{"description":"Email addresses that replace existing list.","example":["yuk@example.com","jdoe@example.com"],"items":{"type":"string"},"type":"array"},"name":{"description":"Name of the email list.","example":"My friends list","type":"string"}},"title":"UpdateEmailListRequestBody","type":"object"}}},"description":""},"responses":{"200":{"content":{"application/json":{"example":{"data":{"attributes":{"created":"2025-04-15T13:50:47.329Z","emails":["test@example.com","test+1@example.com","newaddress@example.com"],"modified":"2025-04-15T13:50:47.329Z","name":"Renamed Test Email List"},"id":33,"relationships":{"ownerUser":{"data":{"id":125391,"type":"user"}}},"type":"emailList"},"included":[],"responseStatus":200},"schema":{"$ref":"#/components/schemas/EmailListResponse"}}},"description":"Successful Operation"}},"summary":"Update an email group","tags":["Email Lists"]}},"/email/referral":{"post":{"description":"Invite a friend to sign up for a free trial of ExaVault. Send a [referral](/lp/referafriend/) email to an email address. If the recipient signs up for ExaVault, we'll apply a credit to your account for the referral. ","operationId":"sendReferralEmail","parameters":[{"description":"API Key required to make the API call.","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"examples":{"Example":{"value":{"emails":["user@example.com"],"message":"I use ExaVault for secure file sending, and so should you. Follow my link to sign up for a trial."}}},"schema":{"properties":{"emails":{"items":{"format":"email","type":"string"},"type":"array"},"message":{"example":"I use ExaVault for secure file sending, and so should you. Follow my link to sign up for a trial.","type":"string"}},"required":["emails","message"],"title":"SendReferralEmailRequestBody","type":"object"}}}},"responses":{"201":{"content":{"application/json":{"example":{"data":[],"responseStatus":201},"schema":{"$ref":"#/components/schemas/EmptyResponse"}}},"description":"Successful Operation"}},"summary":"Send referral email to a given address","tags":["Email"]}},"/email/welcome/{username}":{"post":{"description":"Send a welcome email to a user. The contents of the welcome email can be set by [PATCH /accounts](#operation/updateAccount).","operationId":"sendWelcomeEmail","parameters":[{"description":"API Key required to make the API call.","example":"exampleaccount-zwSuWUZ8S38h33qPS8v0s","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"A username to send the welcome email to.","example":"exampleuser","in":"path","name":"username","required":true,"schema":{"type":"string"}}],"responses":{"201":{"content":{"application/json":{"example":{"data":[],"responseStatus":201},"schema":{"$ref":"#/components/schemas/EmptyResponse"}}},"description":"Successful operation"}},"summary":"Resend welcome email to specific user","tags":["Email"]}},"/forms":{"get":{"description":"Get the information for the [file upload form](/docs/account/05-file-sharing/05-form-builder) assigned to a [receive folder](/docs/account/05-file-sharing/04-receive-folders) by its shareHash. The form details will return all the input field settings and the CSS for the form.\n\nUse the `include` parameter (with the value **share**) to also get the details of the associated receive folder.\n\n**Note**\n\n- If you prefer to find a form by its ID, you can use the [GET /forms/{id}](#operation/getFormById) endpoint instead. \n","operationId":"getFormByShareHash","parameters":[{"description":"API key required to make the API call.","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access Token required to make the API call.","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"Share hash to retrieve the form for.","in":"query","name":"shareHash","required":true,"schema":{"type":"string"}},{"description":"Related record types to include in the response. Valid option is **share**","in":"query","name":"include","schema":{"enum":["share"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":{"attributes":{"cssStyles":"#ev-widget-form {\n /*Change this to change the font. Remove to use your website font*/\n font-family: Helvetica Neue, sans-serif;\n /*Makes the form the same width as your website */\n margin: 0 -2%;\n}\n#ev-widget-form label{\n width: 100%;\n}\n#ev-widget-form input,\n#ev-widget-form textarea {\n /*Changes color and thickness of borders on form elements */\n border: 2px solid #ccc;\n /*Changes spacing inside the form elements (top/bottom and left/right */\n padding: 5px 5px;\n /* Changes how far away the inputs are from their label */\n margin-top: 2px;\n}\n\n#ev-widget-form input:focus,\n#ev-widget-form textarea:focus {\n /*Changes the color of the form elements when they are clicked in to */\n border: 2px solid #b2cf88;\n /*Removes glow effect from form elements that are clicked in to */\n outline: none;\n}\n\n#ev-widget-form label {\n font-size: 14px;\n font-weight: bold;\n /*Changes color of labels */\n color: #232323\n}\n\n#ev-widget-form .ev-form-element-description {\n /*Changes size of descriptions */\n font-size: 12px;\n /*Changes color of descriptions */\n color: #777;\n /* Changes how far away the descriptions are from their input */\n margin-top: 2px;\n}\n\n#ev-widget-form textarea {\n /* Makes textareas (multiline inputs) a taller. */\n min-height: 90px;\n}","elements":[{"id":2329,"name":"Your Name","order":0,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"name"},{"id":2331,"name":"Email Address","order":1,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":true,"width":1},"type":"email"},{"id":2333,"name":"Subject","order":2,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"text"},{"id":2335,"name":"Message","order":3,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"textarea"},{"id":2337,"name":"Upload Area","order":4,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"upload_area"}],"formDescription":null,"submitButtonText":"Send Files","successMessage":"Your files were uploaded"},"id":459,"relationships":{"share":{"data":{"id":1581,"type":"share"}}},"type":"form"},"included":[{"attributes":{"accessDescription":"Receive folder","accessMode":{"delete":false,"download":false,"modify":false,"upload":true},"assets":["HomeTest"],"created":"2025-04-15T13:50:47.329Z","embed":false,"expiration":null,"expired":false,"fileDropCreateFolders":false,"formId":459,"hasNotification":true,"hasPassword":false,"hash":"1a6-eel4wett","inherited":null,"messages":[],"modified":"2025-04-15T13:50:47.329Z","name":"HomeTest","ownerHash":"1a6-eel4wegt-9t0xc3jb","paths":["/HomeTest"],"public":true,"recipients":[],"requireEmail":false,"resent":null,"status":1,"trackingStatus":null,"type":"receive"},"id":1581,"type":"share"}],"responseStatus":200},"schema":{"$ref":"#/components/schemas/FormResponse"}}},"description":"successful operation"}},"summary":"Get receive folder form settings","tags":["Form"]}},"/forms/entries/{id}":{"delete":{"description":"Deletes a form submission entry, which represents one time that a visitor filled out the form and uploaded files. This deletes only the record of the submission (the date, the values entered in the form and the names of the files uploaded by the visitor).The share and any associated file resources will not be deleted by this. \n\n**Notes**:\n\n- Use the [GET /form/entries/{formId}](#operation/getFormMessageById) to list the submissions and obtain the ID of the entry you want to delete\n- You must have the [DeleteFormData permission](/docs/account/04-users/00-introduction#managing-user-roles-and-permissions) in order to use this operation\n- It is not possible to un-delete data that is removed in this way\n","operationId":"deleteFormMessageById","parameters":[{"description":"API Key required to make the API call. ","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"ID of the entry to be deleted data for","in":"path","name":"id","required":true,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[],"responseStatus":200},"schema":{"$ref":"#/components/schemas/EmptyResponse"}}},"description":"Successful operation"}},"summary":"Delete a receive form submission","tags":["Form"]},"get":{"description":"Returns the form data entries for a specific form for a receive. Optional parameters can be included in the call to manage larger data sets.\n","operationId":"getFormEntries","parameters":[{"description":"API Key required to make the API call. ","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"ID of the form to retrieve entries for.","in":"path","name":"id","required":true,"schema":{"type":"integer"}},{"description":"Limit of records to be returned (for pagination)","example":10,"in":"query","name":"limit","schema":{"type":"integer"}},{"description":"Current offset of records (for pagination)","example":100,"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"attributes":{"created":"2025-04-15T13:50:47.329Z","fields":[{"name":"Email Address","order":1,"value":"test451@example.com"}],"modified":"2025-04-15T13:50:47.329Z","paths":["/example/test451@example.com/1.csv","/example/test451@example.com/2.csv"],"status":"completed"},"id":320721,"type":"formEntry"},{"attributes":{"created":"2025-04-15T13:50:47.329Z","fields":[{"name":"Email Address","order":1,"value":"test455@example.com"}],"modified":"2025-04-15T13:50:47.329Z","paths":["/example/test455@example.com/1.csv","/example/test455@example.com/2.csv"],"status":"completed"},"id":32021,"type":"formEntry"}],"responseStatus":200,"returnedResults":2,"totalResults":2},"schema":{"$ref":"#/components/schemas/FormEntryResponse"}}},"description":"Successful operation"}},"summary":"Get form data entries for a receive","tags":["Form"]}},"/forms/{id}":{"get":{"description":"Returns the [file upload form](/docs/account/05-file-sharing/05-form-builder) assigned to a [receive folder](/docs/account/05-file-sharing/04-receive-folders). The form details will return all the input fields and their settings. \n\nUse the `include` parameter (with the value **share**) to also retrieve the details of the associated receive folder. \n\n**Note**\n\nIf you prefer to find a form by its shareHash, you can use the [GET /forms](#operation/getFormByShareHash) endpoint instead. \n","operationId":"getFormById","parameters":[{"description":"API key required to make the API call.","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access Token required to make the API call.","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"Enter \"**share**\" to get information about associated receive folder.","in":"query","name":"include","schema":{"example":"share","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":{"attributes":{"cssStyles":"#ev-widget-form {\n /*Change this to change the font. Remove to use your website font*/\n font-family: Helvetica Neue, sans-serif;\n /*Makes the form the same width as your website */\n margin: 0 -2%;\n}\n#ev-widget-form label{\n width: 100%;\n}\n#ev-widget-form input,\n#ev-widget-form textarea {\n /*Changes color and thickness of borders on form elements */\n border: 2px solid #ccc;\n /*Changes spacing inside the form elements (top/bottom and left/right */\n padding: 5px 5px;\n /* Changes how far away the inputs are from their label */\n margin-top: 2px;\n}\n\n#ev-widget-form input:focus,\n#ev-widget-form textarea:focus {\n /*Changes the color of the form elements when they are clicked in to */\n border: 2px solid #b2cf88;\n /*Removes glow effect from form elements that are clicked in to */\n outline: none;\n}\n\n#ev-widget-form label {\n font-size: 14px;\n font-weight: bold;\n /*Changes color of labels */\n color: #232323\n}\n\n#ev-widget-form .ev-form-element-description {\n /*Changes size of descriptions */\n font-size: 12px;\n /*Changes color of descriptions */\n color: #777;\n /* Changes how far away the descriptions are from their input */\n margin-top: 2px;\n}\n\n#ev-widget-form textarea {\n /* Makes textareas (multiline inputs) a taller. */\n min-height: 90px;\n}","elements":[{"id":2329,"name":"Your Name","order":0,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"name"},{"id":2331,"name":"Email Address","order":1,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":true,"width":1},"type":"email"},{"id":2333,"name":"Subject","order":2,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"text"},{"id":2335,"name":"Message","order":3,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"textarea"},{"id":2337,"name":"Upload Area","order":4,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"upload_area"}],"formDescription":"test test","submitButtonText":"Send Files","successMessage":"Your files were uploaded"},"id":459,"relationships":{"share":{"data":{"id":1581,"type":"share"}}},"type":"form"},"included":[{"attributes":{"accessDescription":"Receive folder","accessMode":{"delete":false,"download":false,"modify":false,"upload":true},"assets":["HomeTest"],"created":"2025-04-15T13:50:47.329Z","embed":false,"expiration":null,"expired":false,"fileDropCreateFolders":false,"formId":459,"hasNotification":true,"hasPassword":false,"hash":"1a6-eel4nxrt","inherited":null,"messages":[],"modified":"2025-04-15T13:50:47.329Z","name":"HomeTest","ownerHash":"1a6-eel4nxrt-9t0xc3jb","paths":["/HomeTest"],"public":true,"recipients":[],"requireEmail":false,"resent":null,"status":1,"trackingStatus":null,"type":"receive"},"id":1581,"type":"share"}],"responseStatus":200},"schema":{"$ref":"#/components/schemas/FormResponse"}}},"description":"successful operation"}},"summary":"Get receive folder form by Id","tags":["Form"]},"parameters":[{"description":"Form unique ID number.","in":"path","name":"id","required":true,"schema":{"format":"int32","type":"integer"}}],"patch":{"description":"Add, update, or delete a form's parameters. This will alter how your users/customers will see and interact with the form when sending you files. \n\n**Notes**\n\n*This call will **replace** your current form in its entirety.* If you want to keep any existing elements unchanged, be sure to submit the call with an element's current settings to preserve them. ","operationId":"updateFormById","parameters":[{"description":"API Key required to make the API call.","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"elements":[{"name":"Name","order":0,"settings":{"description":"this is a description test","isRequired":true,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"name"},{"id":2331,"name":"Email Address","order":1,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"email"},{"id":2333,"name":"Subject","order":2,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"text"},{"id":2335,"name":"Message","order":3,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"textarea"},{"id":2337,"name":"Upload Area","order":4,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"upload_area"}],"formDescription":"hello world","submitButtonText":"goodbye world","successMessage":"thank you"},"schema":{"description":"CSS Styles of the form.","properties":{"cssStyles":{"example":"#ev-widget-form {\n /*Change this to change the font. Remove to use your website font*/\n font-family: Helvetica Neue, sans-serif;\n /*Makes the form the same width as your website */\n margin: 0 -2%;\n}\n#ev-widget-form label{\n width: 100%;\n}\n#ev-widget-form input,\n#ev-widget-form textarea {\n /*Changes color and thickness of borders on form elements */\n border: 2px solid #ccc;\n /*Changes spacing inside the form elements (top/bottom and left/right */\n padding: 5px 5px;\n /* Changes how far away the inputs are from their label */\n margin-top: 2px;\n}\n\n#ev-widget-form input:focus,\n#ev-widget-form textarea:focus {\n /*Changes the color of the form elements when they are clicked in to */\n border: 2px solid #b2cf88;\n /*Removes glow effect from form elements that are clicked in to */\n outline: none;\n}\n\n#ev-widget-form label {\n font-size: 14px;\n font-weight: bold;\n /*Changes color of labels */\n color: #232323\n}\n\n#ev-widget-form .ev-form-element-description {\n /*Changes size of descriptions */\n font-size: 12px;\n /*Changes color of descriptions */\n color: #777;\n /* Changes how far away the descriptions are from their input */\n margin-top: 2px;\n}\n\n#ev-widget-form textarea {\n /* Makes textareas (multiline inputs) a taller. */\n min-height: 90px;\n} ","type":"string"},"elements":{"items":{"properties":{"id":{"description":"ID of the form element. If you're adding a new element to the form, do not include this field.","example":123,"type":"integer"},"name":{"description":"Name of the form element.","example":"Your name","type":"string"},"order":{"description":"The order the fields will be displayed to the recipient. Starts at 0. ","example":0,"type":"integer"},"settings":{"properties":{"isRequired":{"description":"True is the form element is required for submission. ","example":true,"type":"boolean"},"senderEmail":{"example":false,"type":"boolean"},"useAsFolderName":{"description":"True if the submitted response should be used as the name for the new folder. ","example":false,"type":"boolean"}},"type":"object"},"type":{"description":"Type of form field to use.","enum":["name","email","text","textarea","upload_area"],"example":"name","type":"string"}},"type":"object"},"type":"array"},"formDescription":{"description":"Set a description for the form that will be visible to recipients. ","example":"Send your files","type":"string"},"submitButtonText":{"description":"Text to be displayed on the submission button.","example":"Send Files","type":"string"},"successMessage":{"description":"Text to be displayed when a recipient has submitted the form. ","example":"Your files were uploaded","type":"string"}},"title":"UpdateFormByIdRequestBody","type":"object"}}}},"responses":{"200":{"content":{"application/json":{"example":{"data":{"attributes":{"cssStyles":null,"elements":[{"id":2351,"name":"rename test","order":0,"settings":{"description":"this is a description test","isRequired":"true","senderEmail":false,"useAsFolderName":"false","width":"1"},"type":"name"},{"id":2331,"name":"Email Address","order":1,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"email"},{"id":2333,"name":"Subject","order":2,"settings":{"description":null,"isRequired":true,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"text"},{"id":2335,"name":"Message","order":3,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"textarea"},{"id":2337,"name":"Upload Area","order":4,"settings":{"description":null,"isRequired":false,"senderEmail":false,"useAsFolderName":false,"width":1},"type":"upload_area"}],"formDescription":"hello world","submitButtonText":"goodbye world","successMessage":"thank you"},"id":459,"relationships":{"share":{"data":{"id":1581,"type":"share"}}},"type":"form"},"included":[],"responseStatus":200},"schema":{"$ref":"#/components/schemas/FormResponse"}}},"description":"Successful Operation"}},"summary":"Updates a form with given parameters","tags":["Form"]}},"/notifications":{"get":{"description":"Get a list of all the [notifications](/docs/account/06-notifications) you have access to. You can use sorting and filtering to limit the returned list.\n\n**Notes:**\n - Authenticated user should have [notifications permission](/docs/account/04-users/00-introduction#managing-user-roles-and-permissions)","operationId":"listNotifications","parameters":[{"description":"API Key required to make the API call. ","in":"header","name":"ev-api-key","required":true,"schema":{"type":"string"}},{"description":"Access token required to make the API call.","example":"5dc97cc607985eb8da033220e7447647e7915fbf73808","in":"header","name":"ev-access-token","required":true,"schema":{"type":"string"}},{"description":"Type of notification include in the list. Valid options are **file**, **folder**, **send_receipt**, **share_receipt**, **file_drop**\n\nIf this parameter is not used, only **file** and **folder** type notifications are included in the list.","example":"file","in":"query","name":"type","schema":{"enum":["file","folder","shared_folder","send_receipt","share_receipt","file_drop"]