openapi: 3.0.3 info: title: 'Shortlink Service Docs' description: 'Shortlink service allows you to create redirections based on conditions.' version: 1.0.0 servers: - url: 'http://links.lim.bz' paths: /api/app: get: summary: 'Get application info.' description: 'Get current authenticated application info.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: application/json: schema: type: object example: client: 'Example Application' access_token: eyXXXXXXXX.XXXXXXX.XXXX expires_at: '2031-02-07T12:47:58.000000Z' scopes: ['*'] properties: client: { type: string, example: 'Example Application' } access_token: { type: string, example: eyXXXXXXXX.XXXXXXX.XXXX } expires_at: { type: string, example: '2031-02-07T12:47:58.000000Z' } scopes: { type: array, example: ['*'], items: { type: string } } tags: - Application /api/app/settings: put: summary: 'Update application settings.' description: "You can update your webhook listener url or email. Signals to your system will be sent via one of three ways: POST, GET or EMAIL.\nEvery event like shortlink has been entered or end user has been redirected may send signal to your system or application." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { application_id: 1, listener_uri: null, email: null } properties: data: { type: object, example: { application_id: 1, listener_uri: null, email: null } } tags: - Application requestBody: required: false content: application/json: schema: type: object properties: listener_uri: type: string description: 'The value must be a valid URL. This endpoint should be able to receive HTTP POST Request.' example: 'https://yourdomain.com/listener.php' email: type: string description: 'The value must be a valid email address. All registered EMAIL Signals will be send on this email.' example: signals@yourdomain.com '/api/shortlinks/{shortlink}/signals/{signal}/conditions': post: summary: 'Add condition to Signal.' description: 'You can create new condition for Signal. Remember signal will be send if end user satisfies all conditions.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, first_time: '2024-05-20T04:00:00.000000Z', second_time: '2024-05-20T15:59:00.000000Z', operator: BETWEEN, created_at: '2021-06-14T15:17:57.000000Z', updated_at: '2021-06-14T15:17:57.000000Z', type: TIME } properties: data: { type: object, example: { id: 1, first_time: '2024-05-20T04:00:00.000000Z', second_time: '2024-05-20T15:59:00.000000Z', operator: BETWEEN, created_at: '2021-06-14T15:17:57.000000Z', updated_at: '2021-06-14T15:17:57.000000Z', type: TIME } } tags: - Conditions parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 4 required: true schema: type: integer - in: path name: signal description: 'Signal Id.' example: 8 required: true schema: type: integer '/api/shortlinks/{shortlink}/interstitials/{interstitial}/conditions': post: summary: 'Add condition to Interstitial.' description: 'You can create new condition for Interstitial. Remember end user needs to satisfy all conditions to show interstitial.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, first_time: '2024-05-20T04:00:00.000000Z', second_time: '2024-05-20T15:59:00.000000Z', operator: BETWEEN, created_at: '2021-06-14T15:17:57.000000Z', updated_at: '2021-06-14T15:17:57.000000Z', type: TIME } properties: data: { type: object, example: { id: 1, first_time: '2024-05-20T04:00:00.000000Z', second_time: '2024-05-20T15:59:00.000000Z', operator: BETWEEN, created_at: '2021-06-14T15:17:57.000000Z', updated_at: '2021-06-14T15:17:57.000000Z', type: TIME } } tags: - Conditions parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 14 required: true schema: type: integer - in: path name: interstitial description: 'Interstitial Id.' example: 15 required: true schema: type: integer '/api/shortlinks/{shortlink}/destinations/{destination}/conditions': post: summary: 'Add condition to Destination.' description: 'You can create new condition for Destination. Remember that end user will be redirected to destination if end user satisfies all conditions.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, first_time: '2024-05-20T04:00:00.000000Z', second_time: '2024-05-20T15:59:00.000000Z', operator: BETWEEN, created_at: '2021-06-14T15:17:57.000000Z', updated_at: '2021-06-14T15:17:57.000000Z', type: TIME } properties: data: { type: object, example: { id: 1, first_time: '2024-05-20T04:00:00.000000Z', second_time: '2024-05-20T15:59:00.000000Z', operator: BETWEEN, created_at: '2021-06-14T15:17:57.000000Z', updated_at: '2021-06-14T15:17:57.000000Z', type: TIME } } tags: - Conditions parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 7 required: true schema: type: integer - in: path name: destination description: 'Destination Id.' example: 8 required: true schema: type: integer '/api/shortlinks/{shortlink}/signals/{signal}/conditions/{condition}': delete: summary: 'Remove condition from Signal.' description: 'You can remove existing condition from Signal. Remember end user needs to satisfy all conditions to send signal.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - Conditions parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 15 required: true schema: type: integer - in: path name: signal description: 'Signal Id.' example: 20 required: true schema: type: integer - in: path name: condition description: 'Condition Id which will be deleted.' example: 12 required: true schema: type: integer '/api/shortlinks/{shortlink}/interstitials/{interstitial}/conditions/{condition}': delete: summary: 'Remove condition from Interstitial.' description: 'You can remove existing condition from Interstitial. Remember end user needs to satisfy all conditions to show interstitial.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - Conditions parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 2 required: true schema: type: integer - in: path name: interstitial description: 'Interstitial Id.' example: 7 required: true schema: type: integer - in: path name: condition description: 'Condition Id which will be deleted.' example: 4 required: true schema: type: integer '/api/shortlinks/{shortlink}/destinations/{destination}/conditions/{condition}': delete: summary: 'Remove condition from Destination.' description: 'You can remove existing condition from Signal. Remember end user needs to satisfy all conditions to be redirected to destination.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - Conditions parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 10 required: true schema: type: integer - in: path name: destination description: 'Destination Id.' example: 1 required: true schema: type: integer - in: path name: condition description: 'Condition Id which will be deleted.' example: 3 required: true schema: type: integer '/api/shortlinks/{shortlink}/destinations': get: summary: 'Get shortlink all destinations.' description: 'Get list of all destinations for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] }, { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] }] properties: data: { type: array, example: [{ id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] }, { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] }], items: { type: object } } tags: - Destinations post: summary: 'Create Destination for shortlink.' description: 'You can create new Destination for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } properties: data: { type: object, example: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } } tags: - Destinations requestBody: required: true content: application/json: schema: type: object properties: uri: type: string description: 'The value must be a valid URL.' example: 'http://www.goodwin.biz/quod-aut-maxime-nam-et-nisi-fugiat' is_default: type: boolean description: '(Required if conditions are not set).' example: true conditions: type: array description: '(Required if is_default is not set).' example: [[], []] items: { type: object, properties: { type: { type: string, description: 'The value must be one of DATE, TIME, CONTINENT, COUNTRY, REGION, CITY, RETURNING, LATLONG, TEMPERATURE, or WEATHER.', example: LATLONG }, operator: { type: string, description: 'The value must be one of BETWEEN, EQUAL, LESS THAN, GREATER THAN, or IN RANGE.', example: 'GREATER THAN' }, first_date: { type: string, description: '(Required if type is DATE). Date format: Y-m-d H:i:s', example: explicabo }, second_date: { type: string, description: '(Required if type is DATE and operator is BETWEEN). Date format: Y-m-d H:i:s', example: culpa }, first_time: { type: string, description: '(Required if type is TIME). Time format: h:i:s A', example: sed }, second_time: { type: string, description: '(Required if type is TIME and operator is BETWEEN). Time format: h:i:s A', example: nobis }, continent_code: { type: string, description: '(Required if type is CONTINENT and continent is not present). 2 characters long.', example: nam }, continent: { type: string, description: '(Required if type is CONTINENT and continent_code is not present).', example: quis }, country_code: { type: string, description: '(Required if type is COUNTRY and country is not present). 2 characters long.', example: labore }, country: { type: string, description: '(Required if type is COUNTRY and country_code is not present).', example: doloribus }, region_code: { type: string, description: '(Required if type is REGION and region is not present). 2 characters long.', example: et }, region: { type: string, description: '(Required if type is REGION and region_code is not present).', example: et }, latitude: { type: numeric, description: '(Required if type is LATLONG). Between: -90.0000000,90.0000000', example: ex }, longitude: { type: numeric, description: '(Required if type is LATLONG). Between: -180.0000000,180.0000000', example: vel }, range: { type: integer, description: '(Required if type is LATLONG). Between: 10, 10000. Value in miles.', example: 7 }, temperature: { type: integer, description: '(Required if type is TEMPERATURE). Between: -60, 60. Value in Celsius.', example: 9 }, weather: { type: string, description: '(Required if type is WEATHER). In: SUNNY, CLEAN, RAINY, FOGGY, SNOWY, CLOUDY, STORMY, HAIL', example: sint } }, required: [type, operator] } required: - uri parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 18 required: true schema: type: integer '/api/shortlinks/{shortlink}/scenario/{scenario}/destination': post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Destinations requestBody: required: true content: application/json: schema: type: object properties: uri: type: string description: 'The value must be a valid URL.' example: 'http://schmidt.info/et-voluptatem-laborum-error-sit-quo-et' type: type: string description: 'The value must be one of fulfilled or unfulfilled.' example: fulfilled required: - uri parameters: - in: path name: shortlink description: '' example: dolore required: true schema: type: string - in: path name: scenario description: '' example: in required: true schema: type: string '/api/shortlinks/{shortlink}/destinations/{destination}': put: summary: 'Update Destination for shortlink.' description: 'You can update existing destination.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } properties: data: { type: object, example: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } } tags: - Destinations requestBody: required: true content: application/json: schema: type: object properties: uri: type: string description: '' example: ut is_default: type: boolean description: 'The value must be one of 1 or true.' example: true required: - uri delete: summary: 'Delete Destination for shortlink.' description: 'You can delete existing Destination. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Destinations parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 19 required: true schema: type: integer - in: path name: destination description: 'Destination which will be updated.' example: 6 required: true schema: type: integer '/api/shortlinks/{shortlink}/destinationgroup/{destinationgroup}/destination/{destination}': delete: summary: 'Update Destination for shortlink. Can''t remove the last destination in destination group. There should be always at least one destination.' description: 'You can update existing destination.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } properties: data: { type: object, example: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } } tags: - Destinations parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 5 required: true schema: type: integer - in: path name: destinationgroup description: '' example: doloribus required: true schema: type: string - in: path name: destination description: 'Destination which will be updated.' example: 6 required: true schema: type: integer '/wl/shortlinks/{shortlink}/destinations/{destination}': put: summary: 'Update Destination for shortlink.' description: 'You can update existing destination.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } properties: data: { type: object, example: { id: 1, uri: 'https://ct.winlocal.io/bedford', is_default: 1, conditions: [] } } tags: - Destinations requestBody: required: true content: application/json: schema: type: object properties: uri: type: string description: '' example: perspiciatis is_default: type: boolean description: 'The value must be one of 1 or true.' example: true required: - uri parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 20 required: true schema: type: integer - in: path name: destination description: 'Destination which will be updated.' example: 2 required: true schema: type: integer /api/domains: post: summary: 'Create domain.' description: "Create domain. You need to be owner of provided domain.\nPlease redirect domain records for" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 94, domain: jakubowski.com, created_at: '2024-05-20T15:24:57.000000Z' } properties: data: { type: object, example: { id: 94, domain: jakubowski.com, created_at: '2024-05-20T15:24:57.000000Z' } } tags: - Domains requestBody: required: true content: application/json: schema: type: object properties: domain: type: string description: '' example: quia is_default: type: boolean description: '' example: false required: - domain get: summary: 'Get all domains' description: 'Returns all domains assigned to application.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 95, domain: jacobs.com, created_at: '2024-05-20T15:24:57.000000Z' }, { id: 96, domain: hessel.info, created_at: '2024-05-20T15:24:57.000000Z' }] properties: data: { type: array, example: [{ id: 95, domain: jacobs.com, created_at: '2024-05-20T15:24:57.000000Z' }, { id: 96, domain: hessel.info, created_at: '2024-05-20T15:24:57.000000Z' }], items: { type: object } } tags: - Domains '/api/domains/{domain}': get: summary: 'Get single domain' description: 'Returns single domain info.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 97, domain: haag.com, created_at: '2024-05-20T15:24:57.000000Z' } properties: data: { type: object, example: { id: 97, domain: haag.com, created_at: '2024-05-20T15:24:57.000000Z' } } tags: - Domains parameters: - in: path name: domain description: 'Optional parameter. Domain id assigned to your application.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: '1' '/api/domains/{domain}/subdomains': post: summary: 'Create subdomain for domain.' description: "Creates subdomain for your domain.\n\"Empty\" subdomain for each domain is created automatically which is default." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Domains requestBody: required: true content: application/json: schema: type: object properties: subdomain: type: string description: '' example: voluptatem $subdomain: type: string description: 'You can use subdomain of your domain. If you want to use links.yourdomain.com as base redirect link, you should create domain: yourdomain.com and default subdomain links.' example: links $is_default: type: boolean description: 'optional This option sets this subdomain as a default.' example: true required: - subdomain - $subdomain parameters: - in: path name: domain description: 'Optional parameter. Existing domain ID assigned to your application. Created Subdomain will be assigned to this domain.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: '1' '/api/subdomains/{subdomain}': get: summary: 'Show subdomain info.' description: '* @urlParam $subdomain integer Existing subdomain ID. Example: 1' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Domains parameters: - in: path name: subdomain description: '' example: optio required: true schema: type: string /wl/domains: get: summary: 'Get all domains' description: 'Returns all domains assigned to application.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 109, domain: willms.net, created_at: '2024-05-20T15:24:58.000000Z' }, { id: 110, domain: rohan.com, created_at: '2024-05-20T15:24:58.000000Z' }] properties: data: { type: array, example: [{ id: 109, domain: willms.net, created_at: '2024-05-20T15:24:58.000000Z' }, { id: 110, domain: rohan.com, created_at: '2024-05-20T15:24:58.000000Z' }], items: { type: object } } tags: - Domains '/wl/subdomains/{subdomain}': get: summary: 'Show subdomain info.' description: '* @urlParam $subdomain integer Existing subdomain ID. Example: 1' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Domains parameters: - in: path name: subdomain description: '' example: nihil required: true schema: type: string /wl/devices/check: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] '/wl/devices/{order_id}': get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Endpoints security: [] parameters: - in: path name: order_id description: '' example: fugit required: true schema: type: string /wl/devices/url: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] /wl/reports/audiences: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] /wl/reports/children: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] /wl/reports/last-action: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: false content: application/json: schema: type: object properties: workspace_ids: type: array description: '' example: [{ }, null] items: { type: string } security: [] /wl/stats/unique-entries: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Endpoints requestBody: required: false content: application/json: schema: type: object properties: shortlink_id: type: integer description: '' example: 12 workspace_id: type: string description: '' example: { } user_id: type: string description: '' example: { } security: [] /wl/portal-shares: put: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: portal: type: string description: 'The value must be one of facebook, messenger, whatsapp, x, linkedin, snapchat, instagram, tumbler, telegram, discord, wechat, reddit, email, copy, or sms.' example: snapchat placeholder: type: string description: '' example: nesciunt shortlink_id: type: string description: '' example: perspiciatis required: - portal - shortlink_id security: [] /wl/portal-shares/share: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: portal: type: string description: 'The value must be one of facebook, messenger, whatsapp, x, linkedin, snapchat, instagram, tumbler, telegram, discord, wechat, reddit, email, copy, or sms.' example: telegram shortlink_id: type: string description: '' example: voluptatum required: - portal - shortlink_id security: [] '/api/shortlinks/{shortlink}/external_metadata/add': post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - ExternalMetadata requestBody: required: false content: application/json: schema: type: object properties: key: type: string description: '' example: { } value: type: string description: '' example: { } data: type: array description: '' example: [[]] items: { type: object, properties: { key: { type: string, description: '', example: enim }, value: { type: string, description: '', example: et } } } parameters: - in: path name: shortlink description: '' example: perferendis required: true schema: type: string '/api/shortlinks/{shortlink}/pixeltracks': get: summary: 'Get shortlink all Pixel Track actions.' description: 'Get list of all Pixel Track actions for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] }, { id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] }] properties: data: { type: array, example: [{ id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] }, { id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] }], items: { type: object } } tags: - 'Facebook Pixel Tracks' post: summary: 'Create Facebook Pixel track action for existing shortlink' description: 'You can create new Facebook Pixel action for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] } properties: data: { type: object, example: { id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] } } tags: - 'Facebook Pixel Tracks' requestBody: required: true content: application/json: schema: type: object properties: action: type: string description: 'Each Facebook Pixel action need to have action field.' example: viewContent attributes: type: array description: '' example: [[]] items: { type: object, properties: { key: { type: string, description: 'Name of key.', example: fugit }, value: { type: string|int, description: 'Value for the key.', example: nam } }, required: [key, value] } required: - action parameters: - in: path name: shortlink description: 'Optional parameter. Shortlink Id.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 '/api/shortlinks/{shortlink}/pixeltracks/{pixeltrack}': delete: summary: 'Delete Pixel Track action for shortlink.' description: 'You can delete existing Pixel Track action. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - 'Facebook Pixel Tracks' parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 11 required: true schema: type: integer - in: path name: pixeltrack description: 'PixelTrack Id which will be deleted.' example: 17 required: true schema: type: integer '/wl/shortlinks/{shortlink}/pixeltracks': post: summary: 'Create Facebook Pixel track action for existing shortlink' description: 'You can create new Facebook Pixel action for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] } properties: data: { type: object, example: { id: 1, action: ViewContent, attributes: [{ key: page_type, value: mbc }, { key: business_id, value: 3 }, { key: company_name, value: Test28.01 }, { key: mbc_id, value: 2 }, { key: user_id, value: 3 }, { key: mbc_theme_id, value: 28 }] } } tags: - 'Facebook Pixel Tracks' requestBody: required: true content: application/json: schema: type: object properties: action: type: string description: 'Each Facebook Pixel action need to have action field.' example: viewContent attributes: type: array description: '' example: [[]] items: { type: object, properties: { key: { type: string, description: 'Name of key.', example: enim }, value: { type: string|int, description: 'Value for the key.', example: labore } }, required: [key, value] } required: - action parameters: - in: path name: shortlink description: 'Id of shortlink. Created Facebook Pixel action will be assigned to this shortlink' example: 1 required: true schema: type: integer '/api/shortlinks/{shortlink}/heads': get: summary: 'Get shortlink all tags.' description: 'Get list of all heads tags for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' }, { id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' }] properties: data: { type: array, example: [{ id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' }, { id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' }], items: { type: object } } tags: - Heads post: summary: 'Create Head section.' description: 'You can create any tag which will be placed between ....' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' } properties: data: { type: object, example: { id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' } } tags: - Heads requestBody: required: true content: application/json: schema: type: object properties: head: type: string description: 'Full tag.' example: '' required: - head parameters: - in: path name: shortlink description: 'Optional parameter. Shortlink Id.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 '/api/shortlinks/{shortlink}/heads/{head}': put: summary: 'Update Head for shortlink.' description: 'You can update existing Head.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' } properties: data: { type: object, example: { id: 52, head: '', created_at: '2021-06-15T13:23:25.000000Z' } } tags: - Heads requestBody: required: true content: application/json: schema: type: object properties: head: type: string description: '' example: unde required: - head delete: summary: 'Delete head for shortlink.' description: 'You can delete existing head. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - Heads parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 15 required: true schema: type: integer - in: path name: head description: 'Head which will be updated.' example: 10 required: true schema: type: integer '/api/shortlinks/{shortlink}/interstitials': get: summary: 'Get shortlink all interstitials.' description: 'Get list of all interstitials for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] }, { id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] }] properties: data: { type: array, example: [{ id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] }, { id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] }], items: { type: object } } tags: - Interstitials post: summary: 'Create Interstitial for shortlink.' description: 'You can create new Interstitial for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] } properties: data: { type: object, example: { id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] } } tags: - Interstitials requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: 'The value must be one of IFRAME, POPUP, or HTML.' example: POPUP url: type: string description: '(Required if type is IFRAME) Content of interstitial shown in IFRAME.' example: sapiente html: type: string description: '(Required if type is HTML) Content of interstitial as a html tags' example: maxime title: type: string description: '(Required if type is POPUP) Title of popup interstitial.' example: voluptates body: type: string description: '(Required if type is POPUP) Body of popup.' example: consequatur is_default: type: boolean description: '(Required if conditions are not set).' example: false conditions: type: array description: '(Required if is_default is not set).' example: [[], []] items: { type: object, properties: { type: { type: string, description: 'The value must be one of DATE, TIME, CONTINENT, COUNTRY, REGION, CITY, RETURNING, LATLONG, TEMPERATURE, or WEATHER.', example: RETURNING }, operator: { type: string, description: 'The value must be one of BETWEEN, EQUAL, LESS THAN, GREATER THAN, or IN RANGE.', example: BETWEEN }, first_date: { type: string, description: '(Required if type is DATE). Date format: Y-m-d H:i:s', example: quidem }, second_date: { type: string, description: '(Required if type is DATE and operator is BETWEEN). Date format: Y-m-d H:i:s', example: sit }, first_time: { type: string, description: '(Required if type is TIME). Time format: h:i:s A', example: voluptatem }, second_time: { type: string, description: '(Required if type is TIME and operator is BETWEEN). Time format: h:i:s A', example: reprehenderit }, continent_code: { type: string, description: '(Required if type is CONTINENT and continent is not present). 2 characters long.', example: et }, continent: { type: string, description: '(Required if type is CONTINENT and continent_code is not present).', example: sint }, country_code: { type: string, description: '(Required if type is COUNTRY and country is not present). 2 characters long.', example: expedita }, country: { type: string, description: '(Required if type is COUNTRY and country_code is not present).', example: nemo }, region_code: { type: string, description: '(Required if type is REGION and region is not present). 2 characters long.', example: ea }, region: { type: string, description: '(Required if type is REGION and region_code is not present).', example: inventore }, latitude: { type: numeric, description: '(Required if type is LATLONG). Between: -90.0000000,90.0000000', example: et }, longitude: { type: numeric, description: '(Required if type is LATLONG). Between: -180.0000000,180.0000000', example: eveniet }, range: { type: integer, description: '(Required if type is LATLONG). Between: 10, 10000. Value in miles.', example: 6 }, temperature: { type: integer, description: '(Required if type is TEMPERATURE). Between: -60, 60. Value in Celsius.', example: 6 }, weather: { type: string, description: '(Required if type is WEATHER). In: SUNNY, CLEAN, RAINY, FOGGY, SNOWY, CLOUDY, STORMY, HAIL', example: modi } }, required: [type, operator] } required: - type parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 3 required: true schema: type: integer '/api/shortlinks/{shortlink}/interstitials/{interstitial}': put: summary: 'Update Interstitial for shortlink.' description: 'You can update existing interstitial.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] } properties: data: { type: object, example: { id: 2, type: IFRAME, url: 'https://ct.winlocal.io/knadtest/iframecontent/index.html', html: null, title: null, body: null, is_default: 1, conditions: [] } } tags: - Interstitials requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: 'The value must be one of IFRAME, POPUP, or HTML.' example: IFRAME url: type: string description: 'The value must be a valid URL.' example: 'https://www.crooks.com/ea-cum-ut-totam-repellendus' html: type: string description: '' example: { } title: type: string description: '' example: { } body: type: string description: '' example: { } required: - type delete: summary: 'Delete Interstitial for shortlink.' description: 'You can delete existing Interstitial. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - Interstitials parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 11 required: true schema: type: integer - in: path name: interstitial description: 'Interstitial which will be updated.' example: 1 required: true schema: type: integer '/api/shortlinks/{shortlink}/linkedinpixels': get: summary: 'Get shortlink all Linkedin Pixel Partner Ids' description: 'Get list of all Linkedin Pixel Partner Ids for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 1, linkedin_partner_id: '3255674' }, { id: 1, linkedin_partner_id: '3255674' }] properties: data: { type: array, example: [{ id: 1, linkedin_partner_id: '3255674' }, { id: 1, linkedin_partner_id: '3255674' }], items: { type: object } } tags: - 'Linkedin Pixel' post: summary: 'Create Linkedin Pixel for existing shortlink' description: 'You can create new Linkedin Pixel for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, linkedin_partner_id: '3255674' } properties: data: { type: object, example: { id: 1, linkedin_partner_id: '3255674' } } tags: - 'Linkedin Pixel' requestBody: required: true content: application/json: schema: type: object properties: linkedin_partner_id: type: string description: 'Linkedin Partner Id' example: viewContent required: - linkedin_partner_id parameters: - in: path name: shortlink description: 'Optional parameter. Shortlink Id.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 '/api/shortlinks/{shortlink}/linkedinpixels/{linkedinpixel}': delete: summary: 'Delete Linkedin Pixel from shortlink.' description: 'You can delete existing Linkedin Pixel. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - 'Linkedin Pixel' parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 8 required: true schema: type: integer - in: path name: linkedinpixel description: 'Linkedin Pixel Id which will be deleted.' example: 20 required: true schema: type: integer '/api/shortlinks/{shortlink}/ogtags': get: summary: 'Get shortlink all tags.' description: 'Get list of all og tags for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' }, { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' }] properties: data: { type: array, example: [{ id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' }, { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' }], items: { type: object } } tags: - OgTags post: summary: 'Create OgTag for shortlink.' description: 'You can create new OgTag for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } properties: data: { type: object, example: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } } tags: - OgTags requestBody: required: true content: application/json: schema: type: object properties: property: type: string description: 'Each OgTag need to have property field.' example: 'og:title' content: type: string description: 'Value for OgTag.' example: 'Title for my shortlink' required: - property - content parameters: - in: path name: shortlink description: 'Optional parameter. Shortlink Id.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 '/api/shortlinks/{shortlink}/ogtags/{ogtag}': put: summary: 'Update OgTag for shortlink.' description: 'You can update existing OgTag.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } properties: data: { type: object, example: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } } tags: - OgTags requestBody: required: true content: application/json: schema: type: object properties: property: type: string description: '' example: repellendus content: type: string description: '' example: dignissimos required: - property - content delete: summary: 'Delete OgTag for shortlink.' description: 'You can delete existing OgTag. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - OgTags parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 7 required: true schema: type: integer - in: path name: ogtag description: 'OgTag which will be updated.' example: 6 required: true schema: type: integer '/wl/shortlinks/{shortlink}/ogtags': post: summary: 'Create OgTag for shortlink.' description: 'You can create new OgTag for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } properties: data: { type: object, example: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } } tags: - OgTags requestBody: required: true content: application/json: schema: type: object properties: property: type: string description: 'Each OgTag need to have property field.' example: 'og:title' content: type: string description: 'Value for OgTag.' example: 'Title for my shortlink' required: - property - content parameters: - in: path name: shortlink description: 'Id of shortlink. Created OgTags will be assigned to this shortlink' example: 1 required: true schema: type: integer '/wl/shortlinks/{shortlink}/ogtags/{ogtag}': delete: summary: 'Delete OgTag for shortlink.' description: 'You can delete existing OgTag. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - OgTags put: summary: 'Update OgTag for shortlink.' description: 'You can update existing OgTag.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } properties: data: { type: object, example: { id: 1, property: 'og:title', content: 'Bedford Hall Craft Kitchen & Bar', created_at: '2020-11-23T16:00:30.000000Z' } } tags: - OgTags requestBody: required: true content: application/json: schema: type: object properties: property: type: string description: '' example: et content: type: string description: '' example: voluptatum required: - property - content parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 3 required: true schema: type: integer - in: path name: ogtag description: 'OgTag Id which will be deleted.' example: 18 required: true schema: type: integer '/api/shortlinks/{shortlink}/scripts': get: summary: 'Get shortlink all scripts.' description: 'Get list of all scripts for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: null, script: null, noscript: null }, { id: null, script: null, noscript: null }] properties: data: { type: array, example: [{ id: null, script: null, noscript: null }, { id: null, script: null, noscript: null }], items: { type: object } } tags: - Scripts post: summary: 'Create Script for shortlink.' description: 'You can create new Scripts for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: null, script: null, noscript: null } properties: data: { type: object, example: { id: null, script: null, noscript: null } } tags: - Scripts requestBody: required: true content: application/json: schema: type: object properties: script: type: string description: 'Script which will be run if end-user has javascript enabled.' example: beatae noscript: type: string description: 'The <noscript> tag defines an alternate content to be displayed to users that have disabled scripts in their browser or have a browser that doesn''t support script.' example: laborum required: - script parameters: - in: path name: shortlink description: 'Optional parameter. Shortlink Id.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 9 '/api/shortlinks/{shortlink}/scripts/{script}': put: summary: 'Update Script for shortlink.' description: 'You can update existing Script.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Scripts requestBody: required: true content: application/json: schema: type: object properties: script: type: string description: '' example: ut noscript: type: string description: '' example: { } required: - script delete: summary: 'Delete Script for shortlink.' description: 'You can delete existing Script. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Scripts parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 13 required: true schema: type: integer - in: path name: script description: '' example: beatae required: true schema: type: string - in: path name: ogtag description: 'OgTag which will be updated.' example: 2 required: true schema: type: integer /api/shortlinks: get: summary: 'Get all shortlinks' description: 'Returns all shortlinks assigned to application.' parameters: - in: query name: 'filter[alias]' description: 'Filter results by alias. Available filters: alias subdomain domain external_id subdomain_id external_metadata, has_pixel_tracks' example: '?filter[has_pixel_tracks]=0&filter[external_metadata]=user_uuid:XX-YY' required: false schema: type: string description: 'Filter results by alias. Available filters: alias subdomain domain external_id subdomain_id external_metadata, has_pixel_tracks' example: '?filter[has_pixel_tracks]=0&filter[external_metadata]=user_uuid:XX-YY' - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 24328, shortlink: beier.com/magni, alias: magni, default_destination_url: '', domain: beier.com, subdomain: null, external_id: f79cba10-096f-31d1-a436-81f68280722d, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] }, { id: 24329, shortlink: shanahan.com/aspernatur, alias: aspernatur, default_destination_url: '', domain: shanahan.com, subdomain: null, external_id: 983171f9-1654-31ce-a588-433c846f5db8, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] }] properties: data: { type: array, example: [{ id: 24328, shortlink: beier.com/magni, alias: magni, default_destination_url: '', domain: beier.com, subdomain: null, external_id: f79cba10-096f-31d1-a436-81f68280722d, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] }, { id: 24329, shortlink: shanahan.com/aspernatur, alias: aspernatur, default_destination_url: '', domain: shanahan.com, subdomain: null, external_id: 983171f9-1654-31ce-a588-433c846f5db8, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] }], items: { type: object } } tags: - Shortlinks requestBody: required: false content: application/json: schema: type: object properties: breakdown: type: string description: 'The value must be one of OVERALL, DAILY, or HOURLY.' example: OVERALL startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:57+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:57+0000' post: summary: 'Create shortlink' description: "Comfortable endpoint to create shortlink with with all its components like Interstitials, OgTag, etc..\n" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24333, shortlink: oberbrunner.com/placeat, alias: placeat, default_destination_url: '', domain: oberbrunner.com, subdomain: null, external_id: 8c060edf-f9ce-372d-a432-88675a887bb0, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } properties: data: { type: object, example: { id: 24333, shortlink: oberbrunner.com/placeat, alias: placeat, default_destination_url: '', domain: oberbrunner.com, subdomain: null, external_id: 8c060edf-f9ce-372d-a432-88675a887bb0, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } } tags: - Shortlinks requestBody: required: true content: application/json: schema: type: object properties: alias: type: string description: 'optional Unique part of shortlink occurs after domain first slash. (Generated if not provided)' example: frm449dw21 default_destination_uri: type: string description: 'Default shortlink destinations. End user will be redirect there when will not meet another conditional based destinations.' example: 'https://www.winlocalnow.com' subdomain_id: type: integer description: '(Required if subdomain and domain are not present) Id of subdomain.' example: 1 domain: type: string description: '(Requierd if subdomain_id is not present) Domain.' example: yourdomian.com hide_nav_bar: type: string description: 'The value must be one of 1, 1, or true.' example: '1' subdomain: type: string description: '(Requierd if subdomain_id is not present) Subdomain.' example: links external_id: type: string description: 'Id from your system related to shortlink. You will get this each time you retrieve shortlink info.' example: '111' external_metadata: type: string description: 'Data from your system related to shortlink. The value must be a valid JSON string.' example: { systemId: Qh7f43hXfufLWdsaPQsab43u, timestamp: 1607186812 } og_tags: type: array description: 'List of OgTags.' example: [[], []] items: { type: object, properties: { property: { type: string, description: 'OgTag type (read more on ogp.me).', example: 'og:title' }, content: { type: string, description: 'OgTag value for given OgTag type.', example: 'My title seen on Facebook' } }, required: [property, content] } pixel_tracks: type: array description: 'List of Pixel Track actions.' example: [[], []] items: { type: object, properties: { action: { type: string, description: 'Pixel Track action. It will be provided in fbq("track","[action]"...) script.', example: sint }, attributes: { type: array, description: '', example: [[]], items: { type: object, properties: { key: { type: string, description: '', example: ut }, value: { type: string, description: '', example: { } } } } }, 'attributes[]': { type: array, description: 'Array of key-value objects which will be passed to fbq("track","[action], [attributes]).', example: [[], []], items: { type: object } } }, required: [action, 'attributes[]'] } linkedin_pixels: type: 'object[].linkedin_partner_id' description: 'string required Id of Linkedin Partnership.' example: ipsa scripts: type: array description: 'List of scripts which you want to run during redirections' example: [[], []] items: { type: object, properties: { script: { type: string, description: 'Script which will be run if end-user has javascript enabled.', example: sapiente }, noscript: { type: string, description: 'The <noscript> tag defines an alternate content to be displayed to users that have disabled scripts in their browser or have a browser that doesn''t support script.', example: quidem } }, required: [script, noscript] } interstitials: type: array description: '' example: [[]] items: { type: object, properties: { type: { type: string, description: 'The value must be one of IFRAME, POPUP, or HTML.', example: IFRAME }, url: { type: string, description: 'The value must be a valid URL.', example: 'https://www.sipes.org/quia-iure-qui-veniam-nesciunt-consequatur' }, html: { type: string, description: '', example: { } }, title: { type: string, description: '', example: { } }, body: { type: string, description: '', example: { } }, is_default: { type: string, description: 'The value must be one of 1, 1, or true.', example: '1' }, conditions: { type: array, description: '', example: [[]], items: { type: object, properties: { type: { type: string, description: 'The value must be one of DATE, TIME, CONTINENT, COUNTRY, REGION, CITY, RETURNING, LATLONG, TEMPERATURE, or WEATHER.', example: REGION } } } } } } signals: type: array description: 'Signals registered for this shortlink.' example: null items: { type: object, properties: { method: { type: string, description: 'The value must be one of EMAIL, POST, or GET.', example: POST }, events: { type: array, description: 'The value must be one of shortlink.entered, destination.redirected, condition.fulfilled, or condition.unfulfilled.', example: [condition.unfulfilled, shortlink.entered], items: { type: string } }, conditions: { type: array, description: '', example: [[]], items: { type: object, properties: { type: { type: string, description: 'The value must be one of DATE, TIME, CONTINENT, COUNTRY, REGION, CITY, RETURNING, LATLONG, TEMPERATURE, or WEATHER.', example: DATE } } } }, is_default: { type: string, description: 'The value must be one of 1, 1, or true.', example: '1' } }, required: [method] } destinations: type: array description: 'List of shortlink destinations.' example: [[], []] items: { type: object, properties: { uri: { type: string, description: 'The final redirect link.', example: debitis }, conditions: { type: array, description: '', example: [nam], items: { type: string } }, is_default: { type: boolean, description: 'Set this destination to default. (It overwrites default_destination_uri).', example: false }, 'conditions[]': { type: array, description: 'Required if is_default is not set. Conditions are dynamic and validation is based on type property.', example: [[], []], items: { type: object } } }, required: [uri] } heads: type: array description: 'List of html object which will be placed in between tags in redirection page. Please do not use it to place a scripts. Scripts should be make as a scripts.' example: [[], []] items: { type: object, properties: { head: { type: string, description: 'Full tag.', example: ullam } }, required: [head] } required: - default_destination_uri '/api/shortlinks/{shortlink}': get: summary: 'Get single shortlink' description: 'Returns single shortlinks assigned to application with all conditions.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24330, shortlink: nader.info/quam, alias: quam, default_destination_url: '', domain: nader.info, subdomain: null, external_id: 07c79861-d9b8-3482-a880-4bb6016291c2, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } properties: data: { type: object, example: { id: 24330, shortlink: nader.info/quam, alias: quam, default_destination_url: '', domain: nader.info, subdomain: null, external_id: 07c79861-d9b8-3482-a880-4bb6016291c2, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } } tags: - Shortlinks delete: summary: 'Delete shortlink' description: "You can delete existing shortlink. This action can not be undone!\nShortlink statistics will not be accessible from API." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Shortlinks parameters: - in: path name: shortlink description: 'Existing Shortlink Id.' example: '1' required: true schema: type: string '/api/shortlinks/external/{external_id}': get: summary: 'Get shortlinks via external_id' description: 'Returns all shortlinks with given external_id.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 24331, shortlink: adams.sanford.com/eligendi, domain: sanford.com, subdomain: adams, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], stats: { id: 24331, breakdown: OVERALL, shortlink: adams.sanford.com/eligendi, stats: { base: { entries: [], destinations: [] } } } }, { id: 24332, shortlink: mueller.rowe.com/nemo, domain: rowe.com, subdomain: mueller, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], stats: { id: 24332, breakdown: OVERALL, shortlink: mueller.rowe.com/nemo, stats: { base: { entries: [], destinations: [] } } } }] links: { first: '/?page=1', last: '/?page=1', prev: null, next: null } meta: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '« Previous', active: false }, { url: '/?page=1', label: '1', active: true }, { url: null, label: 'Next »', active: false }], path: /, per_page: '15', to: 2, total: 2 } properties: data: { type: array, example: [{ id: 24331, shortlink: adams.sanford.com/eligendi, domain: sanford.com, subdomain: adams, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], stats: { id: 24331, breakdown: OVERALL, shortlink: adams.sanford.com/eligendi, stats: { base: { entries: [], destinations: [] } } } }, { id: 24332, shortlink: mueller.rowe.com/nemo, domain: rowe.com, subdomain: mueller, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], stats: { id: 24332, breakdown: OVERALL, shortlink: mueller.rowe.com/nemo, stats: { base: { entries: [], destinations: [] } } } }], items: { type: object } } links: { type: object, example: { first: '/?page=1', last: '/?page=1', prev: null, next: null } } meta: { type: object, example: { current_page: 1, from: 1, last_page: 1, links: [{ url: null, label: '« Previous', active: false }, { url: '/?page=1', label: '1', active: true }, { url: null, label: 'Next »', active: false }], path: /, per_page: '15', to: 2, total: 2 } } tags: - Shortlinks parameters: - in: path name: external_id description: External_id example: labore required: true schema: type: string /api/shortlinks/check: post: summary: 'Check alias' description: "You can check alias availability in scope of domain or subdomain.\nResponse with status code 200 means that alias is available.\nResponse with status code 422 means that alias has been already taken." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: application/json: schema: type: object example: data: { status: available, shortlink: www.linkto.us/test } properties: data: { type: object, example: { status: available, shortlink: www.linkto.us/test } } 422: description: '422' content: application/json: schema: type: object example: message: 'The given data was invalid.' errors: { alias: ['Shortlink alias must be unique in scope of subdomain.'] } properties: message: { type: string, example: 'The given data was invalid.' } errors: { type: object, example: { alias: ['Shortlink alias must be unique in scope of subdomain.'] } } 403: description: '403' content: application/json: schema: type: object example: message: 'This action is unauthorized.' properties: message: { type: string, example: 'This action is unauthorized.' } tags: - Shortlinks requestBody: required: true content: application/json: schema: type: object properties: alias: type: string description: 'Unique part of shortlink occurs after domain first slash.' example: test domain: type: string description: '(Requierd if domain_id is not present) Domain.' example: linkto.us domain_id: type: integer description: '(Requierd if domain is not present) Domain Id.' example: 1 subdomain_id: type: integer description: '' example: 15 subdomain: type: string description: 'Use specific subdomain for check.' example: veritatis required: - alias /api/shortlinks/validate-hash: post: summary: 'Get shortlink via hash' description: 'Return link with given hash.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24334, shortlink: murazik.klein.com/delectus, alias: delectus, default_destination_url: '', domain: klein.com, subdomain: murazik, external_id: 39684b28-fafc-3a92-a7ff-a8690d5dde04, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } properties: data: { type: object, example: { id: 24334, shortlink: murazik.klein.com/delectus, alias: delectus, default_destination_url: '', domain: klein.com, subdomain: murazik, external_id: 39684b28-fafc-3a92-a7ff-a8690d5dde04, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } } tags: - Shortlinks requestBody: required: true content: application/json: schema: type: object properties: hash: type: string description: 'Hash provided from shortlink from h url parameter.' example: eyf43f4fdsfe3er3 required: - hash /api/shortlinks/device: post: summary: 'Create Device' description: 'Creates device link' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24335, shortlink: jacobson.cummerata.com/perferendis, alias: perferendis, default_destination_url: '', domain: cummerata.com, subdomain: jacobson, external_id: 4578b206-e0ee-3155-8b59-f49c6612bf18, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } properties: data: { type: object, example: { id: 24335, shortlink: jacobson.cummerata.com/perferendis, alias: perferendis, default_destination_url: '', domain: cummerata.com, subdomain: jacobson, external_id: 4578b206-e0ee-3155-8b59-f49c6612bf18, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } } tags: - Shortlinks requestBody: required: true content: application/json: schema: type: object properties: external_id: type: string description: 'Id from external service to associate with' example: '4' required: - external_id '/api/shortlinks/{shortlink}/scenario': get: summary: 'Get scenarios' description: 'Returns all scenarios and destinations for shortlink assigned to application.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } properties: data: { type: object, example: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } } tags: - Shortlinks parameters: - in: path name: shortlink description: '' example: ducimus required: true schema: type: string '/api/shortlinks/{shortlink}/scenario/stats': get: summary: 'Get scenarios with statistics' description: 'Returns all scenarios for shortlink with statistics of conditions and destinations' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } properties: data: { type: object, example: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } } tags: - Shortlinks parameters: - in: path name: shortlink description: '' example: repudiandae required: true schema: type: string '/api/shortlinks/{shortlink}/scenario/{scenario}': post: summary: 'Update Scenario' description: 'You can update specific scenario or all scenarios for a shortlink. If you add IDs then the item will be overwritten.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } properties: data: { type: object, example: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } } tags: - Shortlinks requestBody: required: false content: application/json: schema: type: object properties: condition: type: json description: Required example: '{"type":"scenario","condition":{"type":"city","city":"Krakow","operator":"EQUAL"},"fulfilled":{"uri":"https://maa.pl","type":"destination"},"unfulfilled":{"type":"scenario","condition":{"type":"city","city":"Warszawa","operator":"EQUAL"},"fulfilled":{"uri":"https://warszawa.pl","type":"destination"},"unfulfilled":{"type":"destination_group","uris":[{"uri":"http://chicago1.com","type":"destination"},{"uri":"http://chicago2.com","type":"destination"}]}}}' put: summary: 'Update Condition' description: 'You can update condition of specific scenario' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } properties: data: { type: object, example: { id: 1, type: scenario, condition: { id: 42, type: city, city: Krakow, operator: EQUAL }, fulfilled: { id: 6643, uri: 'https://krakow.pl', type: destination }, unfulfilled: { id: 2, type: scenario, condition: { id: 43, type: city, city: Warszawa, operator: EQUAL }, fulfilled: { id: 6644, uri: 'https://warszawa.pl', type: destination }, unfulfilled: { id: 1, type: destination_group, uris: [{ id: 6645, uri: 'http://chicago1.com', type: destination }, { id: 6646, uri: 'http://chicago2.com', type: destination }] }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } }, shortlink: { id: 6588, shortlink: dev.linkto.us/H0sXKZ, alias: H0sXKZ, default_destination_url: 'http://taternictwo.pl', domain: linkto.us, subdomain: dev, external_id: null, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [{ id: 6642, uri: 'http://taternictwo.pl', is_default: 1, conditions: [] }, { id: 6643, uri: 'https://krakow.pl', is_default: 0, conditions: [] }, { id: 6644, uri: 'https://warszawa.pl', is_default: 0, conditions: [] }, { id: 6645, uri: 'http://chicago1.com', is_default: 0, conditions: [] }, { id: 6646, uri: 'http://chicago2.com', is_default: 0, conditions: [] }], portal_shares: [], shares: [] } } } tags: - Shortlinks requestBody: required: false content: application/json: schema: type: object properties: condition: type: json description: Required example: '{"condition":{"type":"CITY","operator":"EQUAL","city":"New York"}}' delete: summary: 'Remove scenario' description: 'Endpoint for removing scenario with conditions and destinations' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Shortlinks parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 6 required: true schema: type: integer - in: path name: scenario 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: magni '/wl/shortlinks/{shortlink}': get: summary: 'Get single shortlink' description: 'Returns single shortlinks assigned to application with all conditions.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24338, shortlink: cassin.willms.com/nihil, alias: nihil, default_destination_url: '', domain: willms.com, subdomain: cassin, external_id: 39c4870f-3d9c-3534-8c7b-425101b70dea, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } properties: data: { type: object, example: { id: 24338, shortlink: cassin.willms.com/nihil, alias: nihil, default_destination_url: '', domain: willms.com, subdomain: cassin, external_id: 39c4870f-3d9c-3534-8c7b-425101b70dea, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } } tags: - Shortlinks delete: summary: 'Delete shortlink' description: "You can delete existing shortlink. This action can not be undone!\nShortlink statistics will not be accessible from API." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Winlocal parameters: - in: path name: shortlink description: 'Existing Shortlink Id.' example: '1' required: true schema: type: string /wl/shortlinks: post: summary: 'Create shortlink' description: "Comfortable endpoint to create shortlink with with all its components like Interstitials, OgTag, etc..\n" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24340, shortlink: crist.biz/inventore, alias: inventore, default_destination_url: '', domain: crist.biz, subdomain: null, external_id: 2c0c7567-f5cd-31f6-8d1b-016f657b0bca, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } properties: data: { type: object, example: { id: 24340, shortlink: crist.biz/inventore, alias: inventore, default_destination_url: '', domain: crist.biz, subdomain: null, external_id: 2c0c7567-f5cd-31f6-8d1b-016f657b0bca, external_metadata: null, og_tags: [], pixel_tracks: [], scripts: [], signals: [], interstitials: [], destinations: [], portal_shares: [], shares: [] } } tags: - Shortlinks requestBody: required: true content: application/json: schema: type: object properties: alias: type: string description: 'optional Unique part of shortlink occurs after domain first slash. (Generated if not provided)' example: frm449dw21 default_destination_uri: type: string description: 'Default shortlink destinations. End user will be redirect there when will not meet another conditional based destinations.' example: 'https://www.winlocalnow.com' subdomain_id: type: integer description: '(Required if subdomain and domain are not present) Id of subdomain.' example: 1 domain: type: string description: '(Requierd if subdomain_id is not present) Domain.' example: yourdomian.com hide_nav_bar: type: string description: 'The value must be one of 1, 1, or true.' example: 'true' subdomain: type: string description: '(Requierd if subdomain_id is not present) Subdomain.' example: links external_id: type: string description: 'Id from your system related to shortlink. You will get this each time you retrieve shortlink info.' example: '111' external_metadata: type: string description: 'Data from your system related to shortlink. The value must be a valid JSON string.' example: { systemId: Qh7f43hXfufLWdsaPQsab43u, timestamp: 1607186812 } og_tags: type: array description: 'List of OgTags.' example: [[], []] items: { type: object, properties: { property: { type: string, description: 'OgTag type (read more on ogp.me).', example: 'og:title' }, content: { type: string, description: 'OgTag value for given OgTag type.', example: 'My title seen on Facebook' } }, required: [property, content] } pixel_tracks: type: array description: 'List of Pixel Track actions.' example: [[], []] items: { type: object, properties: { action: { type: string, description: 'Pixel Track action. It will be provided in fbq("track","[action]"...) script.', example: voluptas }, attributes: { type: array, description: '', example: [[]], items: { type: object, properties: { key: { type: string, description: '', example: aut }, value: { type: string, description: '', example: { } } } } }, 'attributes[]': { type: array, description: 'Array of key-value objects which will be passed to fbq("track","[action], [attributes]).', example: [[], []], items: { type: object } } }, required: [action, 'attributes[]'] } linkedin_pixels: type: 'object[].linkedin_partner_id' description: 'string required Id of Linkedin Partnership.' example: est scripts: type: array description: 'List of scripts which you want to run during redirections' example: [[], []] items: { type: object, properties: { script: { type: string, description: 'Script which will be run if end-user has javascript enabled.', example: occaecati }, noscript: { type: string, description: 'The <noscript> tag defines an alternate content to be displayed to users that have disabled scripts in their browser or have a browser that doesn''t support script.', example: magnam } }, required: [script, noscript] } interstitials: type: array description: '' example: [[]] items: { type: object, properties: { type: { type: string, description: 'The value must be one of IFRAME, POPUP, or HTML.', example: IFRAME }, url: { type: string, description: 'The value must be a valid URL.', example: 'http://www.kuphal.com/ea-totam-eos-eum-consequatur-veniam' }, html: { type: string, description: '', example: { } }, title: { type: string, description: '', example: { } }, body: { type: string, description: '', example: { } }, is_default: { type: string, description: 'The value must be one of 1, 1, or true.', example: '1' }, conditions: { type: array, description: '', example: [[]], items: { type: object, properties: { type: { type: string, description: 'The value must be one of DATE, TIME, CONTINENT, COUNTRY, REGION, CITY, RETURNING, LATLONG, TEMPERATURE, or WEATHER.', example: REGION } } } } } } signals: type: array description: 'Signals registered for this shortlink.' example: null items: { type: object, properties: { method: { type: string, description: 'The value must be one of EMAIL, POST, or GET.', example: GET }, events: { type: array, description: 'The value must be one of shortlink.entered, destination.redirected, condition.fulfilled, or condition.unfulfilled.', example: [shortlink.entered, shortlink.entered], items: { type: string } }, conditions: { type: array, description: '', example: [[]], items: { type: object, properties: { type: { type: string, description: 'The value must be one of DATE, TIME, CONTINENT, COUNTRY, REGION, CITY, RETURNING, LATLONG, TEMPERATURE, or WEATHER.', example: CONTINENT } } } }, is_default: { type: string, description: 'The value must be one of 1, 1, or true.', example: 'true' } }, required: [method] } destinations: type: array description: 'List of shortlink destinations.' example: [[], []] items: { type: object, properties: { uri: { type: string, description: 'The final redirect link.', example: repudiandae }, conditions: { type: array, description: '', example: [nam], items: { type: string } }, is_default: { type: boolean, description: 'Set this destination to default. (It overwrites default_destination_uri).', example: false }, 'conditions[]': { type: array, description: 'Required if is_default is not set. Conditions are dynamic and validation is based on type property.', example: [[], []], items: { type: object } } }, required: [uri] } heads: type: array description: 'List of html object which will be placed in between tags in redirection page. Please do not use it to place a scripts. Scripts should be make as a scripts.' example: [[], []] items: { type: object, properties: { head: { type: string, description: 'Full tag.', example: vero } }, required: [head] } required: - default_destination_uri get: summary: 'Get all shortlinks' description: 'Each field is available as a filter.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Winlocal requestBody: required: false content: application/json: schema: type: object properties: start_date: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' end_date: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' /wl/shortlinks/check: post: summary: 'Check alias' description: "You can check alias availability in scope of domain or subdomain.\nResponse with status code 200 means that alias is available.\nResponse with status code 422 means that alias has been already taken." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: application/json: schema: type: object example: data: { status: available, shortlink: www.linkto.us/test } properties: data: { type: object, example: { status: available, shortlink: www.linkto.us/test } } 422: description: '422' content: application/json: schema: type: object example: message: 'The given data was invalid.' errors: { alias: ['Shortlink alias must be unique in scope of subdomain.'] } properties: message: { type: string, example: 'The given data was invalid.' } errors: { type: object, example: { alias: ['Shortlink alias must be unique in scope of subdomain.'] } } 403: description: '403' content: application/json: schema: type: object example: message: 'This action is unauthorized.' properties: message: { type: string, example: 'This action is unauthorized.' } tags: - Shortlinks requestBody: required: true content: application/json: schema: type: object properties: alias: type: string description: 'Unique part of shortlink occurs after domain first slash.' example: test domain: type: string description: '(Requierd if domain_id is not present) Domain.' example: linkto.us domain_id: type: integer description: '(Requierd if domain is not present) Domain Id.' example: 1 subdomain_id: type: integer description: '' example: 2 subdomain: type: string description: 'Use specific subdomain for check.' example: consequuntur required: - alias '/api/shortlinks/{shortlink}/signals': get: summary: 'Get shortlink all signals.' description: 'Get list of all signals for certain shortlink' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: [{ id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] }, { id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] }] properties: data: { type: array, example: [{ id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] }, { id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] }], items: { type: object } } tags: - Signals post: summary: 'Create Signal for shortlink.' description: 'You can create new Signal for existing shortlink.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] } properties: data: { type: object, example: { id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] } } tags: - Signals requestBody: required: true content: application/json: schema: type: object properties: method: type: string description: 'The value must be one of EMAIL, POST, or GET.' example: EMAIL events: type: array description: 'The value must be one of shortlink.entered, destination.redirected, condition.fulfilled, or condition.unfulfilled.' example: [destination.redirected, condition.unfulfilled] items: { type: string } is_default: type: boolean description: '(Required if conditions are not set).' example: false conditions: type: array description: '(Required if is_default is not set).' example: [[], []] items: { type: object, properties: { type: { type: string, description: 'The value must be one of DATE, TIME, CONTINENT, COUNTRY, REGION, CITY, RETURNING, LATLONG, TEMPERATURE, or WEATHER.', example: TEMPERATURE }, operator: { type: string, description: 'The value must be one of BETWEEN, EQUAL, LESS THAN, GREATER THAN, or IN RANGE.', example: 'IN RANGE' }, first_date: { type: string, description: '(Required if type is DATE). Date format: Y-m-d H:i:s', example: recusandae }, second_date: { type: string, description: '(Required if type is DATE and operator is BETWEEN). Date format: Y-m-d H:i:s', example: ut }, first_time: { type: string, description: '(Required if type is TIME). Time format: h:i:s A', example: nobis }, second_time: { type: string, description: '(Required if type is TIME and operator is BETWEEN). Time format: h:i:s A', example: non }, continent_code: { type: string, description: '(Required if type is CONTINENT and continent is not present). 2 characters long.', example: suscipit }, continent: { type: string, description: '(Required if type is CONTINENT and continent_code is not present).', example: qui }, country_code: { type: string, description: '(Required if type is COUNTRY and country is not present). 2 characters long.', example: vel }, country: { type: string, description: '(Required if type is COUNTRY and country_code is not present).', example: facere }, region_code: { type: string, description: '(Required if type is REGION and region is not present). 2 characters long.', example: ratione }, region: { type: string, description: '(Required if type is REGION and region_code is not present).', example: et }, latitude: { type: numeric, description: '(Required if type is LATLONG). Between: -90.0000000,90.0000000', example: neque }, longitude: { type: numeric, description: '(Required if type is LATLONG). Between: -180.0000000,180.0000000', example: alias }, range: { type: integer, description: '(Required if type is LATLONG). Between: 10, 10000. Value in miles.', example: 1 }, temperature: { type: integer, description: '(Required if type is TEMPERATURE). Between: -60, 60. Value in Celsius.', example: 14 }, weather: { type: string, description: '(Required if type is WEATHER). In: SUNNY, CLEAN, RAINY, FOGGY, SNOWY, CLOUDY, STORMY, HAIL', example: occaecati } }, required: [type, operator] } required: - method - events parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 11 required: true schema: type: integer '/api/shortlinks/{shortlink}/signals/{signal}': put: summary: 'Update Signal for shortlink.' description: 'You can update existing signal.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] } properties: data: { type: object, example: { id: 510, method: POST, events: [shortlink.entered, destination.redirected], is_default: true, created_at: '2021-03-30T14:03:18.000000Z', conditions: [] } } tags: - Signals requestBody: required: true content: application/json: schema: type: object properties: method: type: string description: 'The value must be one of EMAIL, POST, or GET.' example: POST events: type: array description: 'The value must be one of shortlink.entered, destination.redirected, condition.fulfilled, or condition.unfulfilled.' example: [condition.unfulfilled, condition.fulfilled] items: { type: string } required: - method - events delete: summary: 'Delete Signal for shortlink.' description: 'You can delete existing Signal. This action can not be undone!' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '200' content: text/plain: schema: type: string example: '{[]}' tags: - Signals parameters: - in: path name: shortlink description: 'Shortlink Id.' example: 6 required: true schema: type: integer - in: path name: signal description: 'Signal which will be updated.' example: 8 required: true schema: type: integer /api/app/stats: get: summary: 'Application statistics' description: 'Show all available statistics for application.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 79, breakdown: OVERALL, application: 'Dooley, Lockman and Upton', stats: { base: { entries: null } } } properties: data: { type: object, example: { id: 79, breakdown: OVERALL, application: 'Dooley, Lockman and Upton', stats: { base: { entries: null } } } } tags: - Stats /api/shortlinks/all-stats: get: summary: 'Shortlink statistics' description: 'Show all available statistics for shortlinks.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24336, breakdown: OVERALL, shortlink: dach.hansen.com/commodi, stats: { base: { entries: [], destinations: [] } } } properties: data: { type: object, example: { id: 24336, breakdown: OVERALL, shortlink: dach.hansen.com/commodi, stats: { base: { entries: [], destinations: [] } } } } tags: - Stats requestBody: required: false content: application/json: schema: type: object properties: breakdown: type: string description: 'The value must be one of OVERALL, DAILY, or HOURLY.' example: OVERALL startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' parameters: - in: path name: shortlink description: 'Existing Shortlink Id.' example: '1' required: true schema: type: string '/api/shortlinks/{shortlink}/stats': get: summary: 'Shortlink statistics' description: 'Show all available statistics for shortlink.' parameters: - in: query name: with_shared_users description: 'You can show stats per shared user' example: false required: false schema: type: boolean description: 'You can show stats per shared user' example: false - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24337, breakdown: OVERALL, shortlink: dibbert.com/reiciendis, stats: { base: { entries: [], destinations: [] } } } properties: data: { type: object, example: { id: 24337, breakdown: OVERALL, shortlink: dibbert.com/reiciendis, stats: { base: { entries: [], destinations: [] } } } } tags: - Stats requestBody: required: false content: application/json: schema: type: object properties: breakdown: type: string description: 'The value must be one of OVERALL, DAILY, or HOURLY.' example: OVERALL startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' parameters: - in: path name: shortlink description: 'Existing Shortlink Id.' example: '1' required: true schema: type: string '/wl/shortlinks/{shortlink}/stats': get: summary: 'Shortlink statistics' description: 'Show all available statistics for shortlink.' parameters: - in: query name: with_shared_users description: 'You can show stats per shared user' example: true required: false schema: type: boolean description: 'You can show stats per shared user' example: true - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: data: { id: 24339, breakdown: OVERALL, shortlink: stamm.com/qui, stats: { base: { entries: [], destinations: [] } } } properties: data: { type: object, example: { id: 24339, breakdown: OVERALL, shortlink: stamm.com/qui, stats: { base: { entries: [], destinations: [] } } } } tags: - Stats requestBody: required: false content: application/json: schema: type: object properties: breakdown: type: string description: 'The value must be one of OVERALL, DAILY, or HOURLY.' example: HOURLY startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' parameters: - in: path name: shortlink description: 'Existing Shortlink Id.' example: '1' required: true schema: type: string /api/shortlinks/stats/list: get: summary: 'Get all shortlinks' description: 'Each field is available as a filter.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Winlocal requestBody: required: false content: application/json: schema: type: object properties: start_date: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' end_date: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:58+0000' /wl/workspace/top-sources: get: summary: 'Top Sources' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Winlocal requestBody: required: true content: application/json: schema: type: object properties: startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' scope: type: string description: 'The value must be one of workspace.' example: workspace workspace_id: type: string description: '' example: { } workspaces: type: array description: '' example: [occaecati] items: { type: string } required: - startDate - endDate /wl/workspace/top-links: get: summary: 'Top links' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Winlocal requestBody: required: true content: application/json: schema: type: object properties: startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' scope: type: string description: 'The value must be one of workspace.' example: workspace workspace_id: type: string description: '' example: { } workspaces: type: array description: '' example: [occaecati] items: { type: string } required: - startDate - endDate /wl/workspace/top-people: get: summary: 'Top People' description: 'Endpoint supports M2M authentication.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Winlocal requestBody: required: true content: application/json: schema: type: object properties: startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' scope: type: string description: 'The value must be one of workspace.' example: workspace workspace_id: type: string description: '' example: { } workspaces: type: array description: '' example: [dolorum] items: { type: string } required: - startDate - endDate /wl/workspace/top-stats: get: summary: 'Top Stats' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Winlocal requestBody: required: true content: application/json: schema: type: object properties: startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' scope: type: string description: 'The value must be one of workspace.' example: workspace required: - startDate - endDate /wl/workspace/graph: get: summary: 'Graph data' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: { type: string, example: Unauthenticated. } tags: - Winlocal requestBody: required: true content: application/json: schema: type: object properties: startDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' endDate: type: string description: 'The value must be a valid date.' example: '2024-05-20T15:24:59+0000' scope: type: string description: 'The value must be one of workspace.' example: workspace required: - startDate - endDate /wl/shortlinks/upsert: post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Winlocal requestBody: required: true content: application/json: schema: type: object properties: alias: type: string description: '' example: voluptates default_destination_url: type: string description: '' example: provident shortlink_id: type: string description: '' example: { } message: type: string description: '' example: rerum required: - alias '/wl/shortlinks/{shortlink}/ogtags/sync': post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Winlocal parameters: - in: path name: shortlink description: '' example: omnis required: true schema: type: string '/wl/shortlinks/{shortlink}/share': post: summary: 'Share shortlink' description: 'Share shortlink for another users.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Winlocal requestBody: required: false content: application/json: schema: type: object properties: users: type: optional description: 'array (Required without all param) List of objects user_id and workspace_id' example: aspernatur all: type: optional description: '(Required without all users) Flag to use all users from workspace.' example: et sync: type: boolean description: '' example: false delete: summary: 'Stop sharing shortlink' description: 'Removes all shared users.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Winlocal parameters: - in: path name: shortlink description: 'Existing Shortlink Id.' example: '1' required: true schema: type: string /wl/shortlinks/delete: delete: summary: 'Delete many shortlinks' description: "You can delete many existing shortlink. This action can not be undone!\nShortlink statistics will not be accessible from API." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Winlocal requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: '' example: [31999.35, !!float 43328] items: { type: number } parameters: - in: path name: array 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: dolor components: securitySchemes: default: type: http scheme: bearer description: '' security: - default: []