swagger: '2.0' info: version: "0.4" title: Opentact Api description: Opentact Api Calls schemes: - http host: 149.56.96.236:8002 basePath: / consumes: - application/json produces: - application/json paths: /init: get: description: The first stage of Api session initialization sequence (of total 2 steps) responses: 200: description: Success parameters: - name : Authorization in : header type : string default : init required : true /init/{init_token}: post: description: The second stage of Api session initialization sequence (of total 2 steps) responses: 200: description: Success parameters: - name : Authorization in : header type : string default : init required : true - name: init_token in : path type : string required : true description : The value that is read from 1st step of initialization - name: identity_token in : formData type : string required : true description : The value that is calculated by relevant function, given in examples - name: user_id in : formData type : string required : false description : Optional variable provided by developer, for identifying user in his/her system /int/check_token: post: description: Used to check/verify the init token that is given in header responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true /int/verify_token: post: description: Used to check/verify the init token that is given in header (same as check_token) responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true /1/register_sip/0: post: description: register_sip responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence /1/invite_sip/0: post: description: register_sip responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence /1/xmpp/register: post: description: register_sip responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence /1/xmpp/user_exists: post: description: user_exists responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence /1/xmpp/check_password?user={user}&pass={pass}: get: description: user_exists responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: user in: path type: string required: true description: The user to check password - name: pass in: path type: string required: true description: The pass to check validity /1/xmpp/get_password?user={user_id}: post: description: get password responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : user_id in : path type : string required : true description: User Id to perfom action /1/xmpp/set_password: post: description: set password responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : user in : formData type : string required : true - name : pass in : formData type : string required : true /1/xmpp/remove_user?user={user_id}: post: description: remove user responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : user_id in : path type : string required : true description: User Id to perfom action /1/xmpp/remove_user_validate?user={user_id}: post: description: remove user validate responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : pass in : formData type : string required : true - name : user_id in : path type : string required : true description: User Id to perfom action /app/{app_uuid}/identity: post: description: Add Identity responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App uuid - name: user_name in: formData type: string required: false description: user_name for Identity, if any - name: name in: formData type: string required: false description: Name of Identity, if any - name: avatar in: formData type: string required: false description: avatar of Identity, if any - name: url in: formData type: string required: false description: url of Identity, if any /app/{app_uuid}/identities: get: description: Get list of identities responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App uuid /identity/{identity_uuid}/identity_session_token: post: description: Add/create session token for Identity responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: identity_uuid in: path type: string required: true description: The Identity uuid /identity/{identity_uuid}/identity_session_tokens: get: description: Get session tokens for Identity responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: identity_uuid in: path type: string required: true description: The Identity uuid /identity/{identity_uuid}: get: description: Get Identity info responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: identity_uuid in: path type: string required: true delete: description: Delete identity responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: identity_uuid in: path type: string required: true description: Identity uuid /identity/{identity_uuid}/suspend: patch: description: suspend identity responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: identity_uuid in: path type: string required: true description: Identity uuid /identity/{identity_uuid}/unsuspend: patch: description: UnSuspend identity responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: identity_uuid in: path type: string required: true description: Identity uuid /identity/{identity_uuid}/status: post: description: Set Identity status responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : status in : formData type : string required : true description: online/offline/away/do not disturb etc - name : identity_uuid in : path type : string required : true description: Identity uuid to perfom action /int/app: post: description: Add an application responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: name in: formData type: string required: false description: The App name - name: description in: formData type: string required: false description: Description of application - name: dev_uuid in: formData type: string required: true - name: dev_token in: formData type: string required: true - name: tech_prefix in: formData type: string required: true /int/app/{app_uuid}/suspend: patch: description: Suspend an application responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id /int/app/{app_uuid}/unsuspend: patch: description: unSuspend an application responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id /app/{app_uuid}: get: description: Get info (name, description, etc.) about an application responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id /app_perm/{app_uuid}/{token}/{permission}: get: description: Get permission of a token responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id - name: token in: path type: string required: true description: The token to check permission - name: permission in: path type: string required: true description: The permission to check for /app_perm/{app_uuid}/{token}: patch: description: Set permission of a token responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id - name: token in: path type: string required: true description: The name of token to set permission - name: permission in: formData type: string required: true description: The permission to set for /app/{app_uuid}/token: post: description: Add a token to app responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id - name: token in: formData type: string required: true description: The name of token /app/{app_uuid}/token/{token}: delete: description: Delete a token from app responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id - name: token in: path type: string required: true description: The name of token /app/{app_uuid}/tokens: get: description: List tokens of an app responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name: app_uuid in: path type: string required: true description: The App id /im/{app_uuid}/announcements: get: description: Get all announcements responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: The App uuid /im/{app_uuid}/announcement/{announcement_uuid}: get: description: Get Announcement Info responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: The App uuid - name : announcement_uuid in : path type : string required : true description: The Announcement uuid /im/{app_uuid}/announcement: post: description: Send Announcement responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : body in : formData type : string required : true - name : content in : formData type : string required : true - name : notification_url in : formData type : string required : true - name : app_uuid in : path type : string required : true description: The App uuid /int/{from_identity_uuid}/identity/{to_identity_uuid}/allowed: get: description: Identity Can Call Identity? responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : from_identity_uuid in : path type : string required : true - name : to_identity_uuid in : path type : string required : true /identity/{identity_uuid}/call_report/{start_time}/{end_time}: get: description: Get Identity Call Report responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : identity_uuid in : path type : string required : true description: Number to get report - name : start_time in : path type : string required : true description: Start of report - name : end_time in : path type : string required : true description: End of report /identity/{identity_uuid}/CDR/{start_time}/{end_time}: get: description: Get CDR log responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : identity_uuid in : path type : string required : true description: Number to get report - name : start_time in : path type : string required : true description: Start of report - name : end_time in : path type : string required : true description: End of report /identity/{identity_uuid}/sms_log/{start_time}/{end_time}: get: description: Get SMS log responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : identity_uuid in : path type : string required : true description: Number to get report - name : start_time in : path type : string required : true description: Start of report - name : end_time in : path type : string required : true description: End of report /action/{number}: get: description: Get Action responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : number in : path type : string required : true description: Number to get action (if no number, user/identity is used) post: description: Set Action responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : number in : path type : string required : true description: Number to get action (if no number, user is used) - name : type in : formData type : string required : true description: The type action to set value (ivr/appuser/voicemail etc). For testing OptXML -> Freeswitch conversion(testing purposes), use "optxml" for type and send actual xml in param field - name : param in : formData type : string required : true description: Target info for action, that is defined in type field (where to forward for ex) - name : failover_action in : formData type : string required : false description: The failover_action to be done in case normal action is failed - name : failover_param in : formData type : string required : false description: The parameter for failover_action, similar to param - name : natural_text in : formData type : string required : false description: The text to be playen in TTS /voip/{app_uuid}/countries: get: description: Get List of supported countries for that App responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: App uuid /voip/all_countries: get: description: Get List of all supported countries in Opentact (xx is only placemark) responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence /voip/{app_uuid}/plan_info/{plan_id}: get: description: "Get Country/Plan Info (Details of a plan is acquired by this command)" responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: App uuid - name : plan_id in : path type : string required : true description: This is plan id, that listed in country info /voip/{app_uuid}/order_number: post: description: Place an order for a number (Order A Number) responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: App uuid - name : app_token in : formData type : string required : true description: Token for App - name : country_iso in : formData type : string required : true description: The abbreviation of Country - name : state in : formData type : string required : true description: State info - name : number in : formData type : string required : true description: Number to order - name : description in : formData type : string required : false description: Description /voip/{app_uuid}/number: delete: description: Cancel order responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: App uuid - name : number in : formData type : string required : true description: Number to cancel /voip/{app_uuid}/check_number: post: description: Check Number Availability responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: App uuid - name : app_token in : formData type : string required : true description: Token of App - name : country_iso in : formData type : string required : true - name : state in : formData type : string required : true - name : number in : formData type : string required : true /voip/{app_uuid}/reserve_number: post: description: Reserve A Number responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: App uuid - name : app_token in : formData type : string required : true - name : country_iso in : formData type : string required : true - name : state in : formData type : string required : true - name : number in : formData type : string required : true - name : description in : formData type : string required : true /app/{app_uuid}/services: get: description: Get My services responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: App uuid /int/dev/{dev_uuid}/balance: get: description: Get Balance responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : dev_uuid in : path type : string required : true description: The dev uuid /int/dev/{dev_uuid}/payments: get: description: Get My payments responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : dev_uuid in : path type : string required : true description: The Dev uuid /ui/add_payment: post: description: Add Payment responses: 200: description: Success parameters: - name : dev_uuid in : formData type : string required : true description: Developer UUID - name : amount in : formData type : string required : true description: Amount of Payment - name : currency in : formData type : string required : true description: Currency of Payment /im/{app_uuid}/messages/{start_time}/{end_time}: get: description: Get Chat Messages responses: 200: description: Success parameters: - name : app_uuid in : path type : string required : true description: The App uuid - name : start_time in : path type : string required : true description: Start time of action - name : end_time in : path type : string required : true description: Start time of action /int/dev/{dev_uuid}: get: description: Get Developer Status/Info responses: 200: description: Success parameters: - name : dev_uuid in : path type : string required : true description: Developer UUID /ui/{app_uuid}/IncomingCDR/{start_time}/{end_time}: get: description: Get Incoming CDR responses: 200: description: Success parameters: - name : app_uuid in : path type : string required : true description: The App uuid - name : start_time in : path type : string required : true description: Start time of action - name : end_time in : path type : string required : true description: Start time of action /ui/{app_uuid}/IncomingCallUsage/{date}: get: description: Get Incoming Call Usage responses: 200: description: Success parameters: - name : app_uuid in : path type : string required : true description: The App uuid - name : date in : path type : string required : true description: Date /ui/{app_uuid}/OutgoingCDR/{start_time}/{end_time}: get: description: Get Outgoing CDR responses: 200: description: Success parameters: - name : app_uuid in : path type : string required : true description: The App uuid - name : start_time in : path type : string required : true description: Start time of action - name : end_time in : path type : string required : true description: Start time of action /ui/{app_uuid}/outgoingCallUsage/{date}: get: description: Get Outgoing Call Usage responses: 200: description: Success parameters: - name : app_uuid in : path type : string required : true description: The App uuid - name : date in : path type : string required : true description: Date /ui/{app_uuid}/P2PCDR: get: description: Get P2P CDR (FROM identity to identity) responses: 200: description: Success parameters: - name : app_uuid in : path type : string required : true description: The App uuid /ui/{app_uuid}/P2PCallUsage/{date}: get: description: Get P2P Call Usage (Same as Incoming CDR ! just one day interval) responses: 200: description: Success parameters: - name : app_uuid in : path type : string required : true description: The App uuid - name : date in : path type : string required : true description: Date /app/{app_uuid}/queues: get: description: Get Queues responses: 200: description: Success parameters: - name : Authorization in : header type : string required : true description: The session token that is got from init sequence - name : app_uuid in : path type : string required : true description: The App uuid /ui/login: post: description: UI Login responses: 200: description: Success parameters: - name : user_name in : formData type : string required : true description: User_name of developer - name : password in : formData type : string required : true /ui/dev/register: post: description: register (Developer) responses: 200: description: Success parameters: - name : email in : formData type : string required : true - name : first_name in : formData type : string required : true - name : last_name in : formData type : string required : true - name : country in : formData type : string required : true - name : mobile_number in : formData type : string required : true /ui/dev/list/{from_row}/{to_row}: post: description: List Developers responses: 200: description: Success parameters: - name : from_row in : path type : string required : true description: Row - name : to_row in : path type : string required : true description: Row