OutVoice API Documentation
Welcome to the OutVoice API Documentation. The endpoints outlined here allow you to integrate with the OutVoice Platform.
Requirements
- You will need an account on the OutVoice Platform to use this API. You can sign up at https://outvoice.com
- An admin user can find your API Key and other information on the Company Settings page https://dashboard.outvoice.com/admin/company-settings
Authentication
For user-driven actions, we use OAuth 2.0. For server-to-server integrations we use an additional JWT Bearer Flow.
OAuth
Your application makes a request using an email address and password, and in return receives an access token and a refresh token. Future API requests are made using the access token, and when that expires a new one can be obtained using the refresh token. When the refresh token expires, a new set of tokens must be requested.
JWT Bearer Flow
Once you have received the JWT token, you can make requests without worrying about OAuth tokens expiring. NOTE: Requesting a new JWT token will invalidate previous tokens.
Example Bulk Transactions Workflow
- An authorized user makes a request and receives OAuth tokens
- Use your OAuth access token at the /jwt endpoint to securely receive and store a JWT token for your application.
- Once you have the JWT saved, no need to repeat the previous steps, unless you need to invalidate the existing token.
- To submit transactions, you will need the ID of the freelancer, and of the person authorizing the payment (manager, supervisor, etc). These IDs can be found on the /freelancers and /payers endpoints. OutVoice uses email addresses as unique identifiers, which is how we suggest you search for the IDs you need.
- Send your transactions to the /bulk-transactions endpoint. Up to 50 request can be processed at once. Requests are idempotent, so resubmitting a file that doesn't finish is safe.