Skip to content

OutVoice API Documentation

Welcome to the OutVoice API Documentation. The endpoints outlined here allow you to integrate with the OutVoice Platform.

Requirements

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.