{
    "openapi": "3.1.0",
    "info": {
        "title": "LOX24 API Documentaci\u00f3n (ES)",
        "description": "# Introducci\u00f3n \n\nEn estas p\u00e1ginas encontrar\u00e1 nuestra documentaci\u00f3n para la transmisi\u00f3n de mensajes mediante la pasarela SMS LOX24. La documentaci\u00f3n le ayuda a integrar nuestra API SMS en sus propias aplicaciones y, por tanto, a enviar y recibir mensajes SMS.\nEncontrar\u00e1 nuestra API SMS en api.lox24.eu. Para acceder a las distintas funciones. Por ejemplo,api.lox24.eu/me para consultar su cuenta de cliente y api.lox24.eu/sms para enviar un SMS. Todos los puntos finales requieren autenticaci\u00f3n mediante encabezado HTTP.\n\n### Destacados\n- Utilizar HTTPS, para mensajes totalmente encriptados SSL\n- Enviar sms concatenados, que aparecer\u00e1n como un \u00fanico SMS en el terminal\n- Enviar mensajes con texto en el conjunto de caracteres GSM 03.38 o Unicode\n- Transmite cualquier ID de remitente de hasta 15 d\u00edgitos u 11 caracteres\n- Env\u00ede un SMS masivo a toda su lista de destinatarios con una sola solicitud\n- Reciba respuestas a sus mensajes enviados a trav\u00e9s de HTTP, HTTPS o SMTP\n- Recibir o comprobar el estado de entrega de los mensajes salientes\n- Recibir mensajes entrantes desde su n\u00famero de entrada (opcional)\n\n\n### Tipo de Contenido de la Solicitud\nEl tipo de contenido de las solicitudes POST y PUT puede establecerse como `application/json` o `multipart/form-data` (en puntos finales con carga de archivos).\n\n### Encabezados de respuesta\n\nCada respuesta de la API incluye un identificador de solicitud \u00fanico en el encabezado `X-LOX24-REQUEST-ID`.\nEste identificador alfanum\u00e9rico de 32 caracteres se genera para cada solicitud y se puede utilizar\ncon fines de asistencia t\u00e9cnica al informar de problemas o realizar un seguimiento de llamadas API espec\u00edficas.\n\n### Propiedades de fecha y hora\nLa mayor\u00eda de las solicitudes/respuestas de fehcha y hora  are unix timestamps (integer).\n\n### Bloqueo de IP\n\nSi se reciben m\u00e1s de tres solicitudes desde una direcci\u00f3n IP con datos de autenticaci\u00f3n incorrectos en un minuto, todas las solicitudes posteriores desde esta IP recibir\u00e1n una respuesta con el estado 429 (Demasiadas solicitudes) en los diez minutos siguientes.\n\n\n## Autenticaci\u00f3n \nTodos los puntos finales requieren que est\u00e9 autenticado. Para autenticarse, deber\u00e1 crear un token de API desde su cuenta web ([http://account.lox24.eu](http://account.lox24.eu)\n\"Ajustes\" y \"Ajustes API\"). Una vez que tengas tu API Key puedes pasarla como **cabecera HTTP** de esta forma:\n```\ncurl -X GET https://api.lox24.eu/me \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n```\n\n```\ncurl -X POST https://api.lox24.eu/groups/7116/phones \\\n  -H 'Content-Type: application/json' \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n    \"phone\": \"+4917663804817\",\n    \"a\": \"o2\"\n}'\n```\n\n### M\u00e9todo tradicional de autenticaci\u00f3n \n\nTambi\u00e9n seguimos soportando la versi\u00f3n antigua de autenticaci\u00f3n con dos cabeceras \"X-LOX24-CLIENT-ID\" y \"X-LOX24-AUTH-TOKEN\".\n```\ncurl -X GET https://api.lox24.eu/me \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -H 'X-LOX24-CLIENT-ID: 1234567'\n```\n\n### Importante\n\nNunca compartas tus claves secretas. Mant\u00e9ngalas guardadas y seguras. Si una clave se publica involuntariamente, puede desactivarla o eliminarla en cualquier momento en su cuenta web (https://account.lox24.eu) en \"Configuraci\u00f3n\" y \"Configuraci\u00f3n de la API\".\n<!-- ReDoc-Inject: <security-definitions> -->",
        "version": "2.25",
        "contact": {
            "email": "berlin@lox24.eu",
            "url": "https://doc.lox24.eu"
        },
        "license": {
            "name": "Condiciones de servicio de LOX24",
            "url": "https://www.lox24.eu/es/terms/"
        },
        "x-logo": {
            "url": "/images/logo.png",
            "href": "https://doc.lox24.eu/",
            "altText": "LOX24 API Documentaci\u00f3n"
        }
    },
    "servers": [
        {
            "url": "https://api.lox24.eu",
            "description": ""
        }
    ],
    "security": [
        {
            "token": []
        }
    ],
    "tags": [
        {
            "name": "sms",
            "x-displayName": "SMS",
            "description": "El punto final sms se utiliza para enviar **SMS individuales**. Esto incluye los SMS normales, pero tambi\u00e9n el env\u00edo en seco con fines de prueba. Adem\u00e1s, hay una serie de funciones para consultar los SMS enviados, borrar SMS o detener el env\u00edo.\n\n* Enviar un SMS\n* Consulta SMS enviados\n* SMS con cambio de hora\n* Borrar datos SMS\n* Consulta de datos SMS\n\nSi no quieres enviar SMS individuales, sino enviar SMS masivos a trav\u00e9s de la API, entonces el endpoint \"bulks\" es relevante.\n"
        },
        {
            "name": "bulks",
            "x-displayName": "Masivos",
            "description": "La interfaz bulks se utiliza para **enviar SMS masivos**. Esto incluye la correcta transmisi\u00f3n de SMS masivos a m\u00faltiples n\u00fameros de tel\u00e9fono y/o grupos, pero tambi\u00e9n el env\u00edo en seco. Adem\u00e1s, hay una serie de funciones para consultar el estado de un env\u00edo masivo o para detener el env\u00edo.\n\n* Enviar SMS masivos\n* Consulta del estado de los SMS masivos\n* Detener los SMS masivos\n\nSi no quieres enviar SMS masivos, sino enviar SMS individuales a trav\u00e9s de la API, entonces el endpoint \"sms\" es relevante.\n"
        },
        {
            "name": "blocked numbers",
            "x-displayName": "N\u00famero de tel\u00e9fono bloqueado",
            "description": "El endpoint de n\u00fameros bloqueados se utiliza para gestionar **n\u00fameros de tel\u00e9fono bloqueados** para campa\u00f1as de SMS. Esto te permite mantener una lista de n\u00fameros de tel\u00e9fono que no deben recibir mensajes SMS, ya sea bloqueados por solicitud del cliente o dados de baja por los usuarios. Los n\u00fameros de tel\u00e9fono se a\u00f1aden autom\u00e1ticamente a esta lista cuando los usuarios se dan de baja a trav\u00e9s de formularios de cancelaci\u00f3n de suscripci\u00f3n de campa\u00f1as de enlaces cortos con tipo 2 (dado de baja).\n\n* Agregar n\u00fameros de tel\u00e9fono a la lista de bloqueados\n* Consultar n\u00fameros de tel\u00e9fono bloqueados\n* Eliminar n\u00fameros de tel\u00e9fono de la lista de bloqueados\n* Filtrar n\u00fameros bloqueados por tipo o n\u00famero\n\nEste endpoint ayuda a garantizar el cumplimiento de las regulaciones de SMS y las preferencias del usuario al prevenir que se env\u00eden mensajes a destinatarios no deseados."
        },
        {
            "name": "incomings",
            "x-displayName": "Entrantes",
            "description": "Esta interfaz permite consultar los SMS entrantes (pull). La lista de todos los SMS entrantes, as\u00ed como el contenido de un SMS en particular. Tenga en cuenta, sin embargo, que tambi\u00e9n puede recibir los SMS como push, en cuanto lleguen. La variante [push](/es/info/inbound-and-reply-sms/) es preferible, ya que no tienes que comprobar si hay SMS entrantes, sino que \u00e9stos se env\u00edan directamente a tu script."
        },
        {
            "name": "groups",
            "x-displayName": "Grupos",
            "description": "La funci\u00f3n \"Grupos\" permite crear listas de distribuci\u00f3n masiva de SMS. Cada lista de difusi\u00f3n representa un grupo. Las funciones de \"Grupos\" permiten crear, visualizar, eliminar y exportar las listas de difusi\u00f3n."
        },
        {
            "name": "phones",
            "x-displayName": "Tel\u00e9fonos",
            "description": "Esta interfaz sirve de complemento a los grupos. Mediante los tel\u00e9fonos puede a\u00f1adir, eliminar o modificar n\u00fameros de tel\u00e9fono en su lista de distribuci\u00f3n SMS. Tambi\u00e9n es posible exportar el contenido de un grupo a trav\u00e9s de esta interfaz."
        },
        {
            "name": "campaigns",
            "x-displayName": "Campa\u00f1as",
            "description": "Puede crear una campa\u00f1a de enlace corto a trav\u00e9s de la API de campa\u00f1as. Una campa\u00f1a de enlace corto se utiliza para crear un enlace corto, que luego puede utilizar para mensajes SMS individuales y masivos.\nTambi\u00e9n puedes consultar los enlaces cortos existentes a trav\u00e9s de la interfaz y modificarlos o eliminarlos."
        },
        {
            "name": "links",
            "x-displayName": "Enlaces",
            "description": "La API de enlaces se utiliza para consultar los enlaces cortos espec\u00edficos de una o todas las campa\u00f1as de enlaces cortos.\n\n"
        },
        {
            "name": "requests",
            "x-displayName": "Solicitudes",
            "description": "A trav\u00e9s de las solicitudes puedes recuperar los resultados de tu campa\u00f1a de enlaces cortos. Dependiendo de si ha enviado un SMS con seguimiento simple o avanzado, podr\u00e1 determinar qu\u00e9 n\u00fameros de tel\u00e9fono han hecho clic con qu\u00e9 frecuencia en los enlaces de su SMS. A trav\u00e9s de esta interfaz es posible averiguar qu\u00e9 destinatarios o qu\u00e9 SMS han obtenido buenos resultados.\n"
        },
        {
            "name": "click-rate",
            "x-displayName": "Tasa de clics",
            "description": "Utilizando esta interfaz, podr\u00e1 medir el n\u00famero de clics de sus env\u00edos de SMS.\n"
        },
        {
            "name": "pricelist",
            "x-displayName": "lista de precios",
            "description": "Descargue una lista de precios para servicios SMS en formato XLSX o CSV. La lista de precios muestra las tarifas Direct y Text2Speech para los niveles de mensajes S, M, L y XL. Puede especificar un c\u00f3digo de pa\u00eds (por ejemplo, DE, CH) o usar \"all\" para obtener todos los pa\u00edses disponibles. El endpoint es p\u00fablico y no requiere autenticaci\u00f3n.\n"
        },
        {
            "name": "user",
            "x-displayName": "Usuario",
            "description": "Usuario es una interfaz de asistencia, por ejemplo para consultar el saldo de la cuenta o la l\u00ednea de cr\u00e9dito. Esto puede ser \u00fatil para determinar si todav\u00eda hay cr\u00e9dito suficiente para enviar m\u00e1s SMS.\n"
        },
        {
            "name": "send-link",
            "x-displayName": "Enviar un enlace",
            "description": "### C\u00f3mo enviar SMS con enlaces cortos\n\nLOX24 te permite acortar URLs largas sustituy\u00e9ndolas por URLs cortas utilizando nuestro dominio l24.pw.\n\nEsto tambi\u00e9n permite realizar potentes campa\u00f1as de marketing. As\u00ed, se puede enviar un enlace corto \u00fanico con cada SMS. Esto le permite **realizar un seguimiento de cu\u00e1les de sus clientes han hecho clic en el enlace**. Con estos datos, puede interactuar con los clientes de forma m\u00e1s espec\u00edfica o mejorar sus campa\u00f1as.\n\n\u00a1Pero eso no es todo! LOX24 tambi\u00e9n ofrece enlaces cortos especiales que permiten al usuario **suscribirse o darse de baja de sus boletines SMS**. Esto le permite automatizar el doble opt-in y opt-out de una manera legalmente compatible.\n\n#### C\u00f3mo crear una campa\u00f1a de enlaces cortos\n\nConsulte el cap\u00edtulo [Crear una campa\u00f1a de enlaces cortos](/es/api/operations/api_short_link_campaigns_post_collection/)\n\n***Hay dos tipos de campa\u00f1as:***\n\n1. Simple (tipo = 1). Se utilizar\u00e1 un enlace corto para todos los SMS. El enlace es gratuito. Se recogen el n\u00famero total de clics, el porcentaje de clics y otros datos.\n2. Avanzado (tipo = 2). Se utilizar\u00e1 un enlace corto \u00fanico para cada SMS. Esto le permite determinar qu\u00e9 destinatarios han hecho clic en su enlace y cu\u00e1les no. El coste de cada enlace es de 0,005 euros.\n\n\n#### C\u00f3mo crear un enlace de suscripci\u00f3n\n\n\nConsulte el cap\u00edtulo [Crear una campa\u00f1a de formulario de suscripci\u00f3n](/es/api/operations/post_subscribe/)\n\nUn tipo especial de campa\u00f1a de enlace corto que redirige al usuario a un formulario de suscripci\u00f3n. Tambi\u00e9n es necesario a\u00f1adir un identificador de grupo al que se a\u00f1adir\u00e1n los n\u00fameros de tel\u00e9fono de los usuarios que hayan enviado el formulario de suscripci\u00f3n.\n\n#### C\u00f3mo crear un enlace para darse de baja\n\nConsulte el cap\u00edtulo [Crear una campa\u00f1a de formulario de baja](/es/api/operations/post_unsubscribe/)\n\nUn tipo especial de campa\u00f1a de enlace corto que redirige al usuario a un formulario de baja. Tambi\u00e9n puede a\u00f1adir un identificador de grupo del que eliminar los n\u00fameros de tel\u00e9fono de los usuarios que hayan enviado el formulario de baja. Aunque el grupo no aparezca en la lista al darse de baja, el n\u00famero del usuario se a\u00f1adir\u00e1 a la lista de bloqueados (ver p\u00e1gina ).\n\n#### C\u00f3mo enviar un SMS con un enlace corto\n\nPor favor, consulte el cap\u00edtulo [Enviar el SMS](/es/api/operations/api_sms_post_collection/) o [Crear el Bulk](/es/api/operations/api_bulks_post_collection/) para la funcionalidad general.\n\nPara enviar un SMS con un enlace corto tienes que poner el siguiente marcador de posici\u00f3n``[slink campaing_id]``` en el texto del mensaje, donde ``campaing_id`` es el valor del identificador de campa\u00f1a. Recibir\u00e1 este valor como valor de retorno cuando cree una campa\u00f1a. Por supuesto, tambi\u00e9n puedes consultar el valor de las campa\u00f1as existentes. Por ejemplo, este es el aspecto que tendr\u00eda el texto del SMS para una campa\u00f1a con el ID *eGxoGRMq*:\n\n```\nConsulte un enlace [slink eGxoGRMq]\n```\n\nNuestro sistema sustituye el valor del marcador de posici\u00f3n por el enlace correcto para cada destinatario de SMS. Tambi\u00e9n puedes utilizar [SMS dry-run mode](/es/api/operations/api_sms_post_dryrun_collection/) para comprobar aproximadamente c\u00f3mo quedar\u00e1 el texto con el enlace y cu\u00e1l ser\u00e1 el precio final del SMS.\n\n#### C\u00f3mo comprobar el n\u00famero de clics\n\n***(Esta informaci\u00f3n s\u00f3lo est\u00e1 disponible para las campa\u00f1as de tipo Avanzado)***\n\nEl n\u00famero de clics en un SMS individual se puede encontrar por [SMS id](/es/api/operations/api_sms_clicks_per_message_get_collection/) o [lista](/es/info/click-rate/) por todos los SMS.\n#### C\u00f3mo obtener una lista de todos los enlaces cortos (por campa\u00f1a)\n\nPuede obtener una [lista completa de los enlaces cortos](/es/api/operations/api_short_links_get_collection/) generados por todas sus campa\u00f1as o [por alguna campa\u00f1a](/es/api/operations/api_short_link_campaigns_short_links_get_item/).\n\n#### C\u00f3mo obtener una lista de solicitudes de usuarios por enlaces cortos\n\nExisten puntos finales que proporcionan informaci\u00f3n detallada sobre las solicitudes de los usuarios:\n\n- [lista completa de solicitudes](/es/api/operations/api_short_link_requests_get_collection/)\n- [por SMS](/es/api/operations/get_sms_requests/)\n- [por Bulk SMS](/es/api/operations/get_bulk_requests/)\n- [por Campa\u00f1a de Enlaces Cortos](/es/api/operations/get_campaign_requests/)\n- [por Enlace corto](/es/api/operations/get_short_links_requests/)\n\n"
        },
        {
            "name": "fraud-detection",
            "x-displayName": "API de detecci\u00f3n de fraude",
            "description": "La *AIP de detecci\u00f3n de fraudes* ayuda a identificar las solicitudes sospechosas a su servicio. La API recibe datos de usted, como el n\u00famero de tel\u00e9fono, el correo electr\u00f3nico y la direcci\u00f3n IP de su cliente potencial, en cumplimiento de la **normativa de protecci\u00f3n de datos vigente** en Europa. Nuestro sistema los comprueba mediante bases de datos, algoritmos e inteligencia artificial. Por \u00faltimo, la API ofrece una evaluaci\u00f3n de la probabilidad o el **riesgo de fraude**. El riesgo se mide como la probabilidad de fraude **de 0 a 100**, donde `0` representa una baja probabilidad de fraude (valor de riesgo bueno) y `100` representa una probabilidad de fraude extremadamente alta (valor de riesgo malo).\n\nEl servicio tambi\u00e9n le permite comprobar usted mismo cada parte de la solicitud por separado, por ejemplo, pasando s\u00f3lo los datos telef\u00f3nicos.\n\nAdem\u00e1s de la puntuaci\u00f3n de riesgo, la respuesta de la AP de Detecci\u00f3n de Fraude tambi\u00e9n contiene **informaci\u00f3n adicional** para ayudarle con su **evaluaci\u00f3n de riesgo**:\n- por tel\u00e9fono:\n\t- Regi\u00f3n\n\t- tipo de n\u00famero (tel\u00e9fono m\u00f3vil, VoIP, etc.)\n\t- formato v\u00e1lido\n\t- si el n\u00famero es posible en absoluto\n- por correo electr\u00f3nico:\n\t- \u00bfes posible un correo electr\u00f3nico de este tipo?\n\t- es el dominio del correo electr\u00f3nico especificado sospechoso\n- a trav\u00e9s de la direcci\u00f3n IP\n\t- regi\u00f3n\n\t- estado\n\t- ciudad\n\t- c\u00f3digo postal\n\t- Coordenadas geogr\u00e1ficas\n\t- ISP\n\t- Evaluaci\u00f3n del riesgo del PSI\n\t- Tipo de servidor proxy (si se utiliza)\n\t- Tipo de conexi\u00f3n\n- about the address\n    - country code (ISO 3166-1 alpha-2)\n    - city\n    - postal code\n    - street name\n    - street number\n\nSeg\u00fan la tarifa seleccionada (\"econ\u00f3mica\", \"pro\", \"directa\"), la respuesta y la velocidad de procesamiento de la solicitud son diferentes. Las solicitudes econ\u00f3micas son adecuadas para un simple inicio de sesi\u00f3n, por ejemplo. Consultas pro registro de nuevos clientes y consultas directas para la venta de productos:\n- \"**econom\u00eda** - la respuesta s\u00f3lo contiene el factor de riesgo, la solicitud se procesa en la cola general.\n- **pro**' - la respuesta contiene todos los datos detallados y la solicitud se procesa en la cola general\n- **directo**\" la respuesta contiene - la respuesta contiene todos los datos detallados y la solicitud se procesa en una cola separada con **mayor prioridad**.\n\n\nDado que la puntuaci\u00f3n tarda alg\u00fan tiempo, la solicitud se procesa en modo as\u00edncrono y, tras el procesamiento, el servicio devuelve los datos de la solicitud en formato JSON a la URL HTTP o al correo electr\u00f3nico que haya especificado. Puede establecer este valor en la cuenta web, en el apartado de Ajustes y Notificaciones (**Notificaciones de eventos**).\nTambi\u00e9n puede comprobar el estado de la solicitud por su ID enviando una solicitud a la API. Sin embargo, le recomendamos encarecidamente que utilice el sistema de notificaci\u00f3n (webhook), ya que el servicio puede bloquear sus solicitudes si hay un gran n\u00famero de ellas.\n"
        },
        {
            "name": "collection-filters",
            "x-displayName": "Filtros de colecci\u00f3n",
            "description": "La API de LOX24 proporciona un sistema gen\u00e9rico para aplicar filtros y criterios de ordenaci\u00f3n sobre colecciones. Puede ver qu\u00e9 filtros puede utilizar en la descripci\u00f3n de la propiedad.\n \n### Filtro de b\u00fasqueda\n\nLa API utiliza dos tipos de filtros de texto:\n\n- ***parcial*** utiliza el texto proporcionado para buscar campos que \ncontengan parte de ese texto\n- ***exacto*** utiliza el texto proporcionado para buscar campos \nque contengan exactamente ese texto\n\n**Nota**:Los filtros de b\u00fasqueda con la estrategia exacta pueden tener varios valores para la misma propiedad (en este caso la condici\u00f3n ser\u00e1 similar a una cl\u00e1usula SQL IN).\n\n#### Ejemplos de uso\n\nBuscar sms cuya propiedad `phone` contenga *\"4979\"* y cuya propiedad `text contiene *\"hola \"*:\n\n```\ncurl -X GET https://api.lox24.eu/sms?phone=4979&text=hello \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -H 'X-LOX24-CLIENT-ID: 1234567' \n```\n\nBuscar sms con la propiedad `iso2` del pa\u00eds igual a 'DE' O 'CH' y `status_code` = 0\n\n```\ncurl -X GET https://api.lox24.eu/sms?iso2[]=DE&iso2[]=CH&status_code=0 \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -H 'X-LOX24-CLIENT-ID: 1234567' \n```\n\n### Filtro booleano\n\nEl filtro booleano permite buscar en campos y valores booleanos.\n\n**Syntax**: ?property=<true|false|1|0>\n\nRecibir sms que a\u00fan no se han enviado al operador de telefon\u00eda m\u00f3vil: \n```\ncurl -X GET https://api.lox24.eu/sms?sent=0 \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -H 'X-LOX24-CLIENT-ID: 1234567' \n```\n\n###  Filtro Exists\n\nEl filtro existe permite seleccionar elementos en funci\u00f3n de un valor de campo anulable\n\n**Syntax**: ?exists[property]=<true|false|1|0>\n\nObtener bultos que tengan la propiedad `is_unicode=null` (autodetecci\u00f3n de codificaci\u00f3n sms):\n```\ncurl -X GET https://api.lox24.eu/bulks?exists[is_unicode]=0 \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -H 'X-LOX24-CLIENT-ID: 1234567'\n```\n\n### Filtro de gama\n\nEl filtro de rango permite filtrar por un valor menor que, mayor que, menor o igual, mayor o igual y entre dos valores.\n\n**Syntax**: ?property[<lt|gt|lte|gte|between>]=value\n\n#### Usage examples\n\nFiltrar colecci\u00f3n de sms por el campo `created_at` entre 1575158400 (2019-12-01) y 1575676800 (2019-12-07): \n```\ncurl -X GET https://api.lox24.eu/sms?created_at[between]=1575158400..1575676800 \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -H 'X-LOX24-CLIENT-ID: 1234567' \n```\n\n\n\n### Filtro de ordenaci\u00f3n\n\nEl filtro de orden permite ordenar una colecci\u00f3n en funci\u00f3n de las propiedades dadas. Par\u00e1metro de orden `_order`.\n\n#### Ejemplos de uso\n\nOrdenar la colecci\u00f3n de sms por el campo 'created_at' en orden descendente: \n```\ncurl -X GET https://api.lox24.eu/sms?_order[created_at]=desc \\\n  -H 'Host: api.lox24.eu' \\\n  -H 'X-LOX24-AUTH-TOKEN: e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -H 'X-LOX24-CLIENT-ID: 1234567' \n```\n"
        },
        {
            "name": "sms-status-codes",
            "x-displayName": "C\u00f3digos de estado SMS",
            "description": "Descripci\u00f3n de los c\u00f3digos de estado sms (propiedad `status_code`):\n\n|C\u00f3digo de Estado|Descripci\u00f3n |\n|---|---|\n|0|Nuevo mensaje reci\u00e9n creado|\n|100|El mensaje se ha transmitido correctamente al operador de telefon\u00eda m\u00f3vil|\n|208|La red/pa\u00eds de destino est\u00e1 bloqueado|\n|400|No se ha podido entregar el mensaje durante el mantenimiento|\n|410|El mensaje se detuvo antes de la transmisi\u00f3n a trav\u00e9s de la cuenta web|\n|2000|Por el momento no es posible la conexi\u00f3n con el tel\u00e9fono fijo|\n|3000|No hay dinero suficiente en el saldo del usuario para enviar el mensaje|\n|5000|No se ha encontrado ning\u00fan operador de telefon\u00eda m\u00f3vil para este mensaje|\n|6000|El mensaje se detuvo antes de la transmisi\u00f3n a trav\u00e9s de la API|\n"
        },
        {
            "name": "sms-delivery-report-codes-dlr",
            "x-displayName": "C\u00f3digos de informe de entrega de SMS (DLR)",
            "description": "Cada SMS tiene un c\u00f3digo de informe de entrega (DLR). Hay tres formas de obtener el c\u00f3digo DLR e informaci\u00f3n adicional:\n1. extraer datos del punto final de la API [`GET /sms/{id}`](/es/api/operations/api_sms_get_item/) (id - SMS id) y comprobar la propiedad `dlr_code`\n2. El servicio de configuraci\u00f3n env\u00eda solicitudes HTTP GET (webhook) a su punto final (consulte la p\u00e1gina de la cuenta Configuraci\u00f3n -> Configuraci\u00f3n de API). Los datos se env\u00edan como par\u00e1metros URL. En una respuesta del endpoint con c\u00f3digo de estado HTTP < `200` >= `300` el servicio har\u00e1 intentos adicionales (s\u00f3lo por c\u00f3digo DLR `DELIVERY_OK`) pero m\u00e1ximo cuatro. \n3. servicio de configuraci\u00f3n para enviar mensajes de correo electr\u00f3nico sobre el estado de SMS DLR a su direcci\u00f3n de correo electr\u00f3nico (por favor, compruebe la p\u00e1gina de la cuenta Configuraci\u00f3n -> Configuraci\u00f3n de la API). Los datos se env\u00edan como objeto JSON en el cuerpo del correo electr\u00f3nico.\n**NOTA**: La respuesta de su script no se tiene en cuenta por lo tanto usted tiene que supervisar su script. En caso de mal funcionamiento no hay notificaci\u00f3n por nuestra parte.\n\n\n### DLR propiedades de los informes\n\n|Propiedad|Tipo|Descripci\u00f3n |\n|---|---|---|\n|uuid|UUID|SMS id|\n|dlr_code|integer|DLR c\u00f3digo de estado|\n|key_id|integer|Id. de la clave API utilizada para enviar la solicitud a la API|\n|phone|string|N\u00famero de tel\u00e9fono del destinatario del SMS (en DLR s\u00f3lo por correo electr\u00f3nico)|\n|callback_data|string|String que publico en`POST /sms` en propiedad `callback_data` o si sms fue enviado por `POST /bulks` como Propiedad del tel\u00e9fono `callback_data` |\n\n### Descripci\u00f3n de los c\u00f3digos de estado del informe de entrega (propie`dlr_code`):\n\n|Codigo de estado|Descripci\u00f3n |\n|---|---|\n|0|NONE: No hay informe de entrega disponible|\n|1|DELIVERY_OK: El mensaje se ha enviado correctamente|\n|2|DELIVERY_QUEUE: El mensaje se programa para su env\u00edo posterior|\n|4|DELIVERY_SUBMIT_ACK: El mensaje est\u00e1 en camino|\n|8|DELIVERY_EXPIRED: El SMSC no ha podido entregar el mensaje en un tiempo determinado. Por ejemplo, cuando el tel\u00e9fono estaba apagado|\n|16|DELIVERY_REJECTED: El mensaje ha sido rechazado. El proveedor podr\u00eda haber bloqueado los n\u00fameros de tel\u00e9fono en este rango|\n"
        },
        {
            "name": "encoding-and-number-of-characters",
            "x-displayName": "Codificaci\u00f3n y n\u00famero de caracteres",
            "description": "Generalmente, el texto del SMS tiene que ser transferido con codificaci\u00f3n UTF-8 (y posiblemente con codificaci\u00f3n urlen) a la pasarela. Tienes la opci\u00f3n de utilizar el par\u00e1metro \"encoding\" para decidir si quieres enviar un SMS normal de 7 bits o UCS-2 SMS.\n\n#### Alfabeto est\u00e1ndar GSM de 7 bits (GSM 03.38)\nEl juego de caracteres b\u00e1sico contiene todos los caracteres que pueden transmitirse con un SMS normal de 7 bits. Cada uno de estos caracteres cuenta como 1 car\u00e1cter. El juego de caracteres ampliado tambi\u00e9n puede transferirse, pero requiere 2 caracteres para su transmisi\u00f3n. Los SMS que contienen m\u00e1s de 160 caracteres se env\u00edan al tel\u00e9fono como varios SMS, cada uno con 153 caracteres, y el tel\u00e9fono los concatena en un solo mensaje.\n\n**Basic Character Set**\n\n||0x00|0x10|0x20|0x30|0x40|0x50|0x60|0x70|\n|---|---|---|---|---|---|---|---|---|\n|0x00|@|\u0394|SP|0|\u00a1|P|\u00bf|p|\n|0x01|\u00a3|_|!|1|A|Q|a|q|\n|0x02|$|\u03a6|\"|2|B|R|b|r|\n|0x03|\u00a5|\u0393|#|3|C|S|c|s|\n|0x04|\u00e8|\u039b|\u00a4|4|D|T|d|t|\n|0x05|\u00e9|\u03a9|%|5|E|U|e|u|\n|0x06|\u00f9|\u03a0|&|6|F|V|f|v|\n|0x07|\u00ec|\u03a8|'|7|G|W|g|w|\n|0x08|\u00f2|\u03a3|(|8|H|X|h|x|\n|0x09|\u00c7|\u0398|)|9|I|Y|i|y|\n|0x0A|LF|\u039e|*|:|J|Z|j|z|\n|0x0B|\u00d8|ESC|+|;|K|\u00c4|k|\u00e4|\n|0x0C|\u00f8|\u00c6|,|<|L|\u00d6|l|\u00f6|\n|0x0D|CR|\u00e6|-|=|M|\u00d1|m|\u00f1|\n|0x0E|\u00c5|\u00df|.|>|N|\u00dc|n|\u00fc|\n|0x0F|\u00e5|\u00c9|/|?|O|\u00a7|o|\u00e0|\n\n- LF es un control de avance de l\u00ednea.\n- CR es un control de retorno de carro, o relleno.\n- ESC es un control de Escape.\n- SP es un car\u00e1cter de espacio.\n\n\n**Ampliaci\u00f3n del juego de caracteres b\u00e1sicos**\n\n||0x00|0x10|0x20|0x30|0x40|0x50|0x60|0x70|\n|---|---|---|---|---|---|---|---|---|\n|0x00| | | | ||| | | \n|0x01| | | | | | | | |\n|0x02| | | | | | | | |\n|0x03| | | | | | | | |\n|0x04| |^| | | | | | |\n|0x05| | | | | | |\u20ac| |\n|0x06| | | | | | | | |\n|0x07| | | | | | | | |\n|0x08| | |{| | | | | |\n|0x09| | |}| | | | | |\n|0x0A|FF| | | | | | | |\n|0x0B| |SS2| | | | | | |\n|0x0C| | | |[| | | | |\n|0x0D|CR2| | |~| | | | |\n|0x0E| | | |]| | | | |\n|0x0F| | |\\| | | | | ||\n\n- FF es un control de salto de p\u00e1gina. Si no se reconoce, se tratar\u00e1 como LF.\n- CR2 es un car\u00e1cter de control. No se codificar\u00e1 ning\u00fan car\u00e1cter codificado en esta posici\u00f3n.\n- SS2 es un segundo control Single Shift Escape reservado para futuras ampliaciones.\n\n#### UCS-2 (Unicode SMS)\nCon UCS-2 es posible transmitir 1.112.064 caracteres. Estos caracteres representan casi todos los idiomas hablados. Cada car\u00e1cter cuenta como 1 car\u00e1cter, pero Unicode SMS s\u00f3lo puede constar de 70 caracteres, o consistir en m\u00faltiples SMS concatenados, cada uno con 67 caracteres.\n\n#### SMS concatenados\nPor razones t\u00e9cnicas, con un sms s\u00f3lo se pueden transferir 160 caracteres de texto (70 caracteres de texto Unicode). Si env\u00eda un SMS con \nm\u00e1s caracteres, se env\u00eda un SMS concatenado. Excesivamente largo \nLos mensajes de texto / Multi-SMS (SMS concatenados, SMS largos) son mensajes parciales y se transmiten por separado. Cada parte es un mensaje de texto independiente. El receptor vuelve a convertir las partes en un texto coherente. Para determinar que el mensaje es un mensaje concatenado y qu\u00e9 parte pertenece a qu\u00e9 parte se necesitan 7 caracteres (o 3 en Unicode) de los caracteres disponibles. Esta es la raz\u00f3n por la que una parte de un SMS demasiado largo s\u00f3lo puede constar de 153 caracteres (o 67 en Unicode) de su texto. El m\u00e1ximo es de 1530 caracteres con un mensaje concatenado (o 670 caracteres para Unicode).\n\n"
        },
        {
            "name": "kannel",
            "x-displayName": "Notas de Actualizaci\u00f3n",
            "description": "# Introducci\u00f3n \n\nEsta es una gu\u00eda para configurar y conectar nuestra API SMS a su cliente Kannel. \n\nSi utiliza Kannel para enviar mensajes a diferentes pasarelas SMS, puede a\u00f1adir f\u00e1cilmente un m\u00f3dulo SMSC adicional sin cambiar la arquitectura de su aplicaci\u00f3n.\n\nSoporte: [berlin@lox24.eu](mailto:berlin@lox24.eu)\n\n# API Key\nPara enviar mensajes con Kannel, debe crear una clave de autenticaci\u00f3n en la [*p\u00e1gina de cuenta*](https://account.lox24.eu) con el tipo \\'Kannel API\\'. Vaya a \"*Configuraci\u00f3n*\" -> \"*Configuraci\u00f3n API*\" y haga clic en \"*Crear nueva clave*\". Tiene que elegir como tipo \"*Kannel API*\".\n![Account page an API key](/images/kannel/kannel-api-auth-key.png)\n\n# Configuraci\u00f3n \n\nExisten dos tipos de configuraciones SMSC posibles para enviar SMS con\nLOX24 v\u00eda Kannel:\n\n-   env\u00edo de solicitudes DLR a su punto fina\n-   el env\u00edo de solicitudes DLR a su m\u00f3dulo SMSC Kannel, que a su vez env\u00eda una solicitud DLR a su endpoint (encadenamiento DLR URL)\n\n**Nota**: Lo que hay sobre una petici\u00f3n de DLR lo puedes leer aqu\u00ed:\n\n-   [Documentaci\u00f3n oficial de Kannel](https://www.kannel.com/download/1.4.5/userguide-1.4.5/userguide.html#delivery-reports)\n-   [Documentaci\u00f3n de LOX24 DLR](/es/info/kannel/sms-delivery-report-codes-dlr/)\n\n\n## Env\u00edo de solicitudes DLR a su punto final\n\nLa API LOX24 enviar\u00e1 los informes de entrega directamente a su endpoint sin pasar por Kannel.\n\n![](/images/kannel/kannel_api_dlr.png)\n\nPara utilizar la API de Kannel, basta con crear una nueva configuraci\u00f3n SMSC:\n\n  ```\n  group = smsc\n  smsc = http\n  system-type = kannel\n  smsc-id = \"lox24\"\n  allowed-smsc-id = \"lox24\"\n  port = 10443\n  send-url = \"https://lox24.eu/api/kannel/{SERVICE_CODE}.php\"\n  smsc-username = \"{USER_ID}\"\n  smsc-password = \"{API_KEY}\"\n  max-sms-octets = 1530\n  ```\n\n**Donde**:\n\n-   *SERVICE_CODE* - cualquier c\u00f3digo de servicio disponible para su cuenta en min\u00fasculas   por ejemplo, \"*text2speech*\", \"*direct*\", etc.\n-   *USER_ID* - su ID de cuenta, el mismo que el ID de cliente utilizado para iniciar sesi\u00f3n en account.lox24.eu\n-   *API_KEY* - un token de API activo de tipo '*API Kannel*'. C\u00f3mo crearlo ver [*here*](/es/info/kannel/kannel/#api-key).\n\n## Encadenamiento de URL DLR\n\nNosotros enviaremos los informes de entrega a Kannel, que a su vez enviar\u00e1 los DLR a su endpoint.\n\n![](/images/kannel/kannel_api_dlr_chaining.png)\n\nPara utilizar la API de Kannel, basta con crear una nueva configuraci\u00f3n SMSC:\n```\n  group = smsc\n  smsc = http\n  system-type = kannel\n  smsc-id = \"lox24\"\n  allowed-smsc-id = \"lox24\"\n  port = 10443\n  send-url = \"https://lox24.eu/api/kannel/{SERVICE_CODE}.php\"\n  smsc-username = \"{USER_ID}\"\n  smsc-password = \"{API_KEY}\"\n  dlr-url = \"http://youhosthere.com:10443/?username={USER_ID}&password={API_KEY}\"\n  connect-allow-ip = \"127.0.0.1;213.133.127.70;116.203.64.153;85.10.245.*\"\n  max-sms-octets = 1530\n```\n\n\n**Donde**:\n\n-   *SERVICE_CODE* - cualquier c\u00f3digo de servicio disponible para su cuenta en min\u00fasculas\npor ejemplo, \"*text2speech*\", \"*direct*\", etc.\n-   *USER_ID* - su ID de cuenta, el mismo que el ID de cliente utilizado para iniciar sesi\u00f3n en account.lox24.eu\n-   *API_KEY* - un token de API activo de tipo '*API Kannel*'. C\u00f3mo crearlo\n    ver [*aqu\u00ed*](/es/info/kannel/kannel/#api-key).\n\n## Notas adicionales\n\n### Sin DLR, pero con notificaciones LOX24\nSi configura API v2 Status URL/E-mail en la cuenta web de lox24 podr\u00e1 omitir el par\u00e1metro `dlr-url` y recibir notificaciones de mensajes de la misma forma que si enviara SMS mediante nuestra API v2 normal directamente a un script en su servidor o por correo [*docs*](/es/info/kannel/sms-delivery-report-codes-dlr/).\n\n![](/images/kannel/kannel_api_status_endpoint.png)\n\n### Puerto SMSC \n\nEn los ejemplos de configuraci\u00f3n de SMSC se utiliza el puerto 10443, pero puede ser cualquier puerto que desee. Recomendamos encarecidamente bloquearlo por el cortafuegos y permitir conexiones TCP desde los servidores LOX24 (116.203.64.153,213.133.127.70,85.10.245.\\*) y hosts conocidos.\n\n## Variables DLR soportadas\n\nLOX24 Kannel API es una implementaci\u00f3n m\u00ednima de Kannel y s\u00f3lo soporta las siguientes variables:\n\n-   ***%d*** - Tipo de informe Kannel (entero):\n    -   1: Entregado al tel\u00e9fono\n    -   2: No entregado al tel\u00e9fono\n    -   4: En cola en SMSC\n    -   8: Entregado a SMSC\n    -   16: No entregado a SMSC\n\n-   ***%q*** - El n\u00famero de tel\u00e9fono internacional (E.164) que recibir\u00e1 el mensaje.\n\n-   ***%T*** - La hora del informe de entrega expresada en segundos desde la \u00e9poca UNIX.\n\n**Nota:** Puede utilizar cualquier otra variable, pero no podemos garantizar que los datos sean correctos.\n\n# Par\u00e1metros\n\n## from\n\n*(obligatorio)*\n\nID del remitente del mensaje. Puede ser un n\u00famero (hasta 15 d\u00edgitos) o un texto (hasta 11 caracteres). Si se trata de un n\u00famero, utilice preferentemente el formato de n\u00famero de tel\u00e9fono E.164. Un remitente de texto puede contener espacios pero no otros caracteres especiales. Tenga en cuenta que algunos pa\u00edses no admiten identificadores de remitente propios o exigen un registro previo. Nuestro sistema intenta detectar autom\u00e1ticamente si un ID de remitente es un texto o un n\u00famero de tel\u00e9fono. Evite los caracteres especiales en un n\u00famero e introd\u00fazcalo de la misma forma que se marcar\u00eda en un tel\u00e9fono.\n\n## to\n\n*(obligatorio)*\n\nN\u00famero de destinatario (internacional)\n\n## text\n\n*(obligatorio)*\n\nEl texto del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud m\u00e1xima de caracteres se reduce a 670 caracteres. La codificaci\u00f3n interna es UTF-8.\n\n## coding\n\n*(opcional)*\n\nPuedes enviar un SMS con el par\u00e1metro '*coding*':\n\n0 - GSM 03.38 (default),\n1 - 8-bit or\n2 - UCS-2 encoding.\n\n*En nuestro caso, 8 bits y UCS-2 son lo mismo (is\\_unicode = true) y se tratar\u00e1n como SMS unicode.*\n\n## dlr-url\n\n*(opcional)*\n\nEspecifique una URL y p\u00eddanos que la llamemos para informarle del estado de la entrega. Si no se especifica el par\u00e1metro 'dlr-url', se utilizar\u00e1 *API v2 DLR endpoint from user's settings* (si est\u00e1 configurado).\n\n## deferred\n\n*(opcional)*\n\nSi se da, el centro de SMS pospondr\u00e1 el mensaje para que se entregue en el momento m\u00e1s esta cantidad de minutos. Si se omite, el SMS se enviar\u00e1 lo antes posible.\n\n## Ejemplo de solicitud\n\nEse ejemplo de solicitud get que el usuario env\u00eda a **su** smsbox de Kannel que est\u00e1 a la escucha en el puerto 9001.\n\n[*http://127.0.0.1:9001/cgi-bin/sendsms?dlr-url=http://yourhost.com/dlr_test.php?status=%d%26time=%T%26q=%q%26customid=1234567&from=sender&password=test1&smsc=lox24&text=test%20message&to=+49751234567&username=test1&coding=0*](http://127.0.0.1:9001/cgi-bin/sendsms?dlr-url=http://yourhost.com/dlr_test.php?status=%d%26time=%T%26q=%q%26customid=1234567&from=sender&password=test1&smsc=lox24&text=test%20message&to=+49751234567&username=test1&coding=0)\n\n### Consejos\nA\u00f1ade a una url DLR un par\u00e1metro personalizado con el ID interno del mensaje para procesar correctamente la petici\u00f3n DLR. En nuestro ejemplo es un `customid` = 1234567.\n"
        },
        {
            "name": "notifications",
            "x-displayName": "Tipos de transporte de acontecimientos",
            "description": "### Notificaciones\n\nEl sistema de mensajer\u00eda de eventos se cre\u00f3 en sustituci\u00f3n del anticuado sistema de notificaci\u00f3n del estado de entrega de sms salientes y entrantes (estos sistemas se consideran obsoletos, no se mejorar\u00e1n y no se recomienda su uso).\n\nEl sistema de mensajer\u00eda de eventos permite enviar informaci\u00f3n sobre eventos concretos a URIs espec\u00edficas (http o correo electr\u00f3nico). Puede personalizar el sistema para enviar notificaciones de un evento a diferentes URI.\n\nPara configurar las notificaciones, abra la p\u00e1gina de configuraci\u00f3n (account.lox24.eu -> Configuraci\u00f3n -> Notificaciones), haga clic en \"Crear un nuevo webhook\" e introduzca en el campo URI la direcci\u00f3n http o el correo electr\u00f3nico al que desea recibir las notificaciones. Por defecto, todos los eventos posibles se enviar\u00e1n a la URI especificada. Si s\u00f3lo desea recibir notificaciones sobre determinados eventos, marque la casilla situada junto a los eventos sobre los que desea recibir notificaciones.\n\nSi necesita notificaciones adicionales, repita las instrucciones anteriores. Se puede crear un m\u00e1ximo de cinco notificaciones individuales.\n\nLa informaci\u00f3n del evento se notificar\u00e1 en formato de objeto JSON, que tiene el mismo formato para todos los eventos y s\u00f3lo difiere en los datos del propio evento.\n\n#### Estructura del objetivo del evento\n\n| Campo                 | Tipo               | Descripci\u00f3n                                |\n|-----------------------|--------------------|-------------------------------------------|\n| id                    | string (36 chars)  | ID del evento                                  |\n| api_version           | string             | Versi\u00f3n de la estructura de datos\n| name                  | string             | Nombre de evento E.j. 'sms.delivery'           |\n| created_at            | integer            | Unix timestamp cuando el evento fue creado     |\n| attempt_total         | integer            | N\u00famero total de intentos (reintentos).      |\n| attempt_number        | integer            | N\u00famero actual de intentos                 |                                     |\n| data                  | object             | Datos del evento (ver lista de eventos)        |\n| notification_task_id  | string (36 chars)  | ID de la tarea de notificaci\u00f3n (identificador de la solicitud) |\n\n\n##### Ejemplo de evento\n\n```json\n{\n  \"id\": \"a3cd6e19-8af2-498d-ad07-c7840f1b4ac8\",\n  \"data\": {\n\t\"id\": \"d6c12ac4-cc7d-11ec-b6da-525400bbb7dc\",\n\t\"key_id\": 8207,\n\t\"dlr_code\": 1,\n\t\"status_code\": 100,\n\t\"callback_data\": \"some data from user's request here\"\n  },\n  \"name\": \"sms.delivery\",\n  \"created_at\": 1653378603,\n  \"api_version\": \"2022-05-25\",\n  \"attempt_number\": 1,\n  \"attempts_total\": 4,\n  \"notification_task_id\": \"3378de83-de66-4de8-9d29-2b10d41bb641\"\n}\n```\n\n#### Tipos de transporte de acontecimientos\n\nEl sistema de notificaci\u00f3n puede enviar informaci\u00f3n de eventos de dos maneras (transportes): HTTP y Correo electr\u00f3nico\n\n##### HTTP\n\nEl json se env\u00eda como cuerpo de la petici\u00f3n http con la cabecera ``Content-Type: application/json``.\nEl servicio continuar\u00e1 intentando enviar la petici\u00f3n (a intervalos de tiempo crecientes) hasta que reciba una respuesta con un c\u00f3digo de estado >= 200 y < 300 o el n\u00famero de intentos alcance el valor especificado en el campo ``n\u00famero_de_intentos``.\n\n**NOTA**: La respuesta de su script de punto final no se tiene en cuenta, por lo que debe supervisar su script. En caso de mal funcionamiento no hay notificaci\u00f3n por nuestra parte.\n\n##### E-mail\n\nEl json se env\u00eda como cuerpo del email con un \u00fanico intento desde un email `no-reply@lox24.eu`.\n\n##### Servicio de hosts y direcciones IP\n\nLas alertas se env\u00edan desde los siguientes hosts `162.55.80.140` y `162.55.80.141`. Si utilizas un cortafuegos, no olvides poner esas direcciones IP en la lista blanca.\n\n#### Lista de Eventos\n\n- [sms.delivery](/es/api/webhooks/webhookssms-delivery-webhook/)\n- [sms.delivery.dryrun](/es/api/webhooks/webhookssms-delivery-dryrun-webhook/)\n- [sms.incoming](/es/api/webhooks/smsincomingwebhook/)\n- [sms.email.parsing.success](/es/api/webhooks/webhookssms-email-parsing-success/)\n- [sms.email.parsing.fail](/es/api/webhooks/webhookssms-email-parsing-fail/)\n- [bulk.email.parsing.success](/es/api/webhooks/bulkemailparsingsuccesswebhook/)\n- [bulk.email.parsing.fail](/es/api/webhooks/bulkemailparsingfailwebhook/)\n- [fraud-check.done](/es/api/webhooks/fraudcheckdonewebhook/)"
        },
        {
            "name": "inbound-and-reply-sms",
            "x-displayName": "SMS entrante y SMS de respuesta",
            "description": "### SMS entrantes y SMS de respuesta:\n\nPuedes recibir SMS entrantes (originados en m\u00f3viles - SMS-MO) enviados por un webhook a tu servidor web. Para recibir SMS entrantes necesitas enviar un SMS econ\u00f3mico a Alemania O puedes pedir un [n\u00famero de tel\u00e9fono entrante](https://www.lox24.eu/en/sms-products/inbound-sms-mo-api/) solicit\u00e1ndolo al soporte ([berlin@lox24.eu](mailto:berlin@lox24.eu). \n\nServicio Push significa que nuestra pasarela env\u00eda peticiones HTTP con datos a un script en su host. En respuesta con c\u00f3digo de estado HTTP < `200` o >= `300`, el servicio har\u00e1 intentos adicionales pero m\u00e1ximo tres. La respuesta de su script no se tiene en cuenta, por lo que debe supervisar su script. En caso de mal funcionamiento no le avisaremos. Puede introducir la URL de todos los servicios push en la p\u00e1gina de su cuenta web LOX24 (Configuraci\u00f3n -> Configuraci\u00f3n API). Alternativamente, tambi\u00e9n puede recibir informaci\u00f3n sobre los SMS entrantes por correo electr\u00f3nico.\n\nLos SMS entrantes se env\u00edan como HTTP GET con los par\u00e1metros `sender_id` para el n\u00famero de tel\u00e9fono del remitente, `text` para el texto del mensaje y `time` como hora de env\u00edo del mensaje en formato Unix timestamp. Para un SMS de respuesta a un SMS econ\u00f3mico tambi\u00e9n se recibe `uuid` como asignaci\u00f3n al SMS inicial. Para un n\u00famero de tel\u00e9fono entrante, `phone` contiene el n\u00famero de tel\u00e9fono entrante (receptor) e `id` contiene el ID del SMS entrante.\n\nLos SMS entrantes por correo contienen un objeto JSON con los mismos par\u00e1metros.\n\n| Par\u00e1metro |Tipo     |Descripci\u00f3n |\n|-----------|---------|-----------|\n| id        | integer |Identificador de SMS de entrada (no para SMS de respuesta econ\u00f3mica) |\n| phone     | string  |N\u00famero de tel\u00e9fono de entrada (no para SMS de respuesta econ\u00f3mica) |\n| sender_id | string  |N\u00famero de tel\u00e9fono del remitente del SMS entrante                      |\n| text      | string  |Mensaje de texto                                               |\n| time      | integer |Hora a la que LOX24 recibi\u00f3 el SMS                 |\n| uuid      | UUID    |ID del mensaje que ha recibido una respuesta (s\u00f3lo para SMS de respuesta econ\u00f3mica) |\n\n"
        },
        {
            "name": "ssml-language-detection",
            "x-displayName": "SSML y detecci\u00f3n de idiomas",
            "description": "### Detecci\u00f3n del idioma de la voz\n\nCuando voice_lang es nulo, el sistema detecta autom\u00e1ticamente el idioma de la voz a partir del contenido del mensaje mediante la biblioteca patrickschur/language-detection.\n\nIdiomas compatibles: ingl\u00e9s (`EN`), alem\u00e1n (`DE`), franc\u00e9s (`FR`), italiano (`IT`), espa\u00f1ol (`ES`), polaco (`PL`), neerland\u00e9s (`NL`), rumano (`RO`), portugu\u00e9s (`PT`), checo (`CS`), h\u00fangaro (`HU`), sueco (`SV`), dan\u00e9s (`DA`), finland\u00e9s (`FI`), eslovaco (`SK`), croata (`HR`), turco (`TR`), ruso (`RU`), b\u00falgaro (`BG`), ucraniano (`UK`).\n\n### SSML Support\n\nThe API now supports a subset of [SSML (Speech Synthesis Markup Language)](https://en.wikipedia.org/wiki/Speech_Synthesis_Markup_Language) for advanced voice message formatting.\n\n#### Supported Features\n\n##### Available Tags\n- `<break>` - Insert pauses in speech\n- `<say-as>` - Control pronunciation of text\n\n#### Tag Specifications\n\n##### `<break>` Tag\n- **Purpose**: Add pauses between words or sentences\n- **Attributes**: `time` (e.g., \"1s\", \"500ms\")\n- **Precios**: <0,5ms = 1 car\u00e1cter, <1s = 2 caracteres, <1,5s = 3 caracteres, etc.\n\n##### `<say-as>` Tag\n- **Purpose**: Control how text is interpreted and spoken\n- **Supported Attributes**:\n  - `interpret-as=\"characters\"` - Spell out text character by character\n- **Note**: Currently only \"characters\" value is supported\n\n#### Usage\n\nWrap your message content with the `<speak>` root element:\n\n```xml\n<speak>\n  Your verification code is <say-as interpret-as=\"characters\">A1B2C3</say-as>.\n  <break time=\"1s\"/>\n  Please enter it now.\n</speak>\n"
        },
        {
            "name": "email-to-sms",
            "x-displayName": "Email to SMS",
            "description": "### Env\u00edo de SMS por correo electr\u00f3nico\n\nPuedes enviar mensajes SMS por correo electr\u00f3nico de dos formas distintas: enviando un \u00fanico SMS a un n\u00famero de tel\u00e9fono concreto o enviando un SMS a un grupo de n\u00fameros de tel\u00e9fono.\n\n#### Enviar un solo SMS\n\nPara enviar un \u00fanico SMS, el correo electr\u00f3nico debe tener el siguiente formato:\n\n```\n{{user_id}}.{{api_key}}.{{phone}}.{{service_code}}.{{sender_id}}.{{text_source}}.{{encoding}}.{{max_sms_parts}}@mail2sms.lox24.eu\n```\n\n#### Env\u00edo a varios n\u00fameros de tel\u00e9fono (SMS de grupo)\n\nPara enviar un SMS a los n\u00fameros de tel\u00e9fono de un grupo espec\u00edfico, utilice el siguiente formato:\n\n```\n{{user_id}}.{{api_key}}.{{group_id}}.{{service_code}}.{{sender_id}}.{{text_source}}.{{encoding}}.{{max_sms_parts}}@email2bulk.lox24.eu\n```\n\n##### Parameters:\n\n| Orde | Etiqueta         | Descripci\u00f3n                                                                                                                                      |\n|-------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------|\n| 1     | user_id       | Id. de usuario (entero)                                                                                                                                        |\n| 2     | api_key       | Clave API \"Email2SMS\" desde la p\u00e1gina de configuraci\u00f3n de la clave API (\"Configuraci\u00f3n\" -> \"Configuraci\u00f3n API\")                                                                      |\n| 3     | phone/group_id| Para SMS individuales, es el n\u00famero de tel\u00e9fono en formato E.164 sin el \"+\" inicial. Para los SMS de grupo, es el Id. de grupo que puede encontrar en su cuenta web o solicitar por API.                 |\n| 4     | service_code  | C\u00f3digo de servicio \"text2speech\", \"direct\" (por defecto)                                                                                                  |\n| 5     | sender_id     | Id de remitente: un n\u00famero entero de 1 a 6 (por defecto 1). Si no se encuentra el identificador del remitente, el valor predeterminado es \"email2sms\".                 |\n| 6     | text_source   | Text source: 0 - subject + body (by default), 1 - subject, 2 - body                                                                              |\n| 7     | encoding      | An integer: 0 - normal GSM (default), 1 - unicode, 2 - auto-detecting (por el texto completo de la solicitud)                                           |\n| 8     | max_sms_parts | Un n\u00famero entero entre 1 y 10. El valor por defecto es 1. Hay un l\u00edmite en la longitud del texto cuando se analiza el correo electr\u00f3nico. Los caracteres adicionales se utilizan para la concatenaci\u00f3n en mensajes m\u00e1s largos que los l\u00edmites est\u00e1ndar. |\n\n#### Direcciones de correo electr\u00f3nico Ejemplos\n\n##### Ejemplos de SMS de grupo\n\n**Enviar SMS a tel\u00e9fonos por un id de grupo = 12345 (par\u00e1metros m\u00ednimos)**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345@email2bulk.lox24.eu\n```\n\n**Enviar SMS a tel\u00e9fonos por un id de grupo = 12345 con servicio 'directo'**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct@email2bulk.lox24.eu\n```\n\n**Enviar SMS a tel\u00e9fonos por un id de grupo = 12345 con servicio 'directo' y con id de remitente = 2**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct.2@email2bulk.lox24.eu\n```\n\n**Enviar SMS a tel\u00e9fonos por un id de grupo = 12345 con servicio 'directo', con id de remitente = 2, y texto del asunto del email**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct.2.1@email2bulk.lox24.eu\n```\n\n**Enviar SMS a tel\u00e9fonos por un id de grupo = 12345 con servicio 'directo', con id de remitente = 2, con texto del asunto del email, y codificaci\u00f3n auto-detecci\u00f3n**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct.2.1.2@email2bulk.lox24.eu\n```\n\n##### Ejemplos de SMS sencillos\n\n**Enviar SMS a un \u00fanico n\u00famero de tel\u00e9fono \"+1234567890\" (par\u00e1metros m\u00ednimos)**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890@mail2sms.lox24.eu\n```\n\n**Enviar SMS a un \u00fanico n\u00famero de tel\u00e9fono \"+1234567890\" con el servicio 'directo'.**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct@mail2sms.lox24.eu\n```\n\n**Enviar SMS a un \u00fanico n\u00famero de tel\u00e9fono \"+1234567890\" con servicio 'directo' e id de remitente = 2**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct.2@mail2sms.lox24.eu\n```\n\n**Enviar SMS a un \u00fanico n\u00famero de tel\u00e9fono \"+1234567890\" con servicio 'directo', con id de remitente = 2, y texto del asunto del email**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct.2.1@mail2sms.lox24.eu\n```\n\n**Enviar SMS a un \u00fanico n\u00famero de tel\u00e9fono \"+1234567890\" con servicio 'directo', con id de remitente = 2, con texto del asunto del email, y codificaci\u00f3n auto-detecci\u00f3n**\n\n```\n1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.1234567890.direct.2.1.2@mail2sms.lox24.eu\n```\n\n#### Respuestas sobre errores\n\n\nLa mayor\u00eda de los errores se ignoran para reducir las inundaciones no deseadas, incluidos los errores relacionados con la autenticaci\u00f3n. Pero para algunos errores, el sistema env\u00eda una respuesta JSON con una descripci\u00f3n del error.\n\n**Error JSON**\n\n| Propiedad    | Descripci\u00f3n                                  |\n|-------------|---------------------------------------------|\n| field       | Campo de error en la solicitud                      |\n| description | Descripci\u00f3n del error                           |\n| request     | EMail direcci\u00f3n a la que se envi\u00f3 la solicitud |\n\n##### Ejemplo\n{\"field\":\"group_id\",\"description\":\"Group with id = 12345 was not found!\",\"request\":\"1234567.e3f3a759b6677959b6ebfcxxxxxxxxxx.12345.direct@email2bulk.lox24.eu\"}\n\n#### Aviso de reenv\u00edo de correo electr\u00f3nico\n\nTenga en cuenta que la pasarela de correo no funciona con el reenv\u00edo de correo electr\u00f3nico. El correo electr\u00f3nico debe enviarse directamente al buz\u00f3n de la pasarela Mail2SMS."
        },
        {
            "name": "verify-codes",
            "x-displayName": "C\u00f3digos de verificaci\u00f3n",
            "description": "El endpoint de c\u00f3digos de verificaci\u00f3n permite enviar **c\u00f3digos de verificaci\u00f3n de un solo uso (OTP)** a n\u00fameros de tel\u00e9fono a trav\u00e9s de m\u00faltiples canales de entrega. Soporta una **estrategia de enrutamiento de varios pasos** con fallback autom\u00e1tico \u2014 si un canal falla o expira, se intenta autom\u00e1ticamente el siguiente canal.\n\n- Crear una solicitud de c\u00f3digo de verificaci\u00f3n con una estrategia de enrutamiento flexible\n- Soporte para canales de entrega **Telegram**, **Voz (texto a voz)** y **SMS**\n- Fallback autom\u00e1tico entre canales en caso de fallo o tiempo de espera agotado\n- Consultar el estado del c\u00f3digo de verificaci\u00f3n, el historial de entrega y la informaci\u00f3n de costos\n- Eliminar c\u00f3digos de verificaci\u00f3n del almacenamiento despu\u00e9s de la entrega por seguridad\n\n### C\u00f3mo funciona\n\nAl crear una solicitud de c\u00f3digo de verificaci\u00f3n, define una **estrategia de enrutamiento** \u2014 una lista ordenada de canales de entrega a intentar. El sistema procesa cada canal en orden:\n\n1. Env\u00eda el c\u00f3digo de verificaci\u00f3n a trav\u00e9s del primer canal (ej. Telegram).\n2. **Telegram**: espera una confirmaci\u00f3n de entrega de la API de Telegram dentro de `timeout_sec`. **Voz**: realiza un intento de llamada; el \u00e9xito se produce si el destinatario contesta. **SMS**: se considera exitoso una vez que el mensaje es aceptado por la red m\u00f3vil.\n3. Si el canal falla o expira, se recurre autom\u00e1ticamente al siguiente canal.\n4. Repite hasta que un canal tenga \u00e9xito o se hayan agotado todos los canales.\n\n### Estrategia de enrutamiento\n\nCada paso en la estrategia de enrutamiento especifica un `channel` y par\u00e1metros opcionales. Todos los par\u00e1metros excepto `channel` son opcionales \u2014 se utilizan valores predeterminados razonables cuando se omiten.\n\n| Canal | Par\u00e1metros | Criterio de \u00e9xito | Notas |\n|---------|-----------|-------------------|-------|\n| `telegram` | `timeout_sec` | Confirmaci\u00f3n de entrega recibida de Telegram dentro de `timeout_sec` | `timeout_sec`: m\u00edn 30, m\u00e1x 3600, predeterminado 30. |\n| `voice` | `sender_id`, `template` | El destinatario contest\u00f3 la llamada | Llamada de texto a voz. Solo se realiza **un intento de llamada**. La plantilla se envuelve autom\u00e1ticamente en etiquetas SSML `<speak>`. |\n| `sms` | `sender_id`, `template` | El SMS fue aceptado para su entrega por la red | Entrega est\u00e1ndar por SMS. Solo puede ser el **\u00faltimo** paso en la estrategia de enrutamiento. |\n\n**Reglas:**\n- Al menos un canal es obligatorio.\n- No se permiten canales duplicados.\n- El canal `sms` solo puede ser el \u00faltimo paso (sin fallback despu\u00e9s de SMS).\n- El par\u00e1metro `timeout_sec` solo es aplicable para el canal `telegram`.\n\n### Optimizaci\u00f3n de costes\n\nEl coste total de una solicitud de c\u00f3digo de verificaci\u00f3n es la **suma de todos los mensajes enviados** por todos los canales que se intentaron, incluso si algunos canales fallaron. Cada intento de canal genera un coste por mensaje.\n\n**Recomendaci\u00f3n:** Ordene su estrategia de enrutamiento del canal m\u00e1s econ\u00f3mico al m\u00e1s caro. Por ejemplo, coloque `telegram` primero (coste m\u00e1s bajo), luego `voice` y `sms` en \u00faltimo lugar. De este modo, si el canal m\u00e1s econ\u00f3mico tiene \u00e9xito, se evita pagar por los m\u00e1s costosos.\n\n### Bloqueo y filtrado\n\nAntes de intentar la entrega, el sistema verifica el n\u00famero de tel\u00e9fono del destinatario contra las restricciones de su cuenta:\n\n- **N\u00fameros de tel\u00e9fono bloqueados**: Si el n\u00famero del destinatario est\u00e1 en su lista de [n\u00fameros bloqueados](/#tag/blocked-numbers), el mensaje no ser\u00e1 enviado.\n- **Filtros SMS**: Si el n\u00famero del destinatario coincide con alguno de sus [filtros SMS](/#tag/sms-filters), el mensaje no ser\u00e1 enviado.\n\nCuando un mensaje es bloqueado por un filtro o n\u00famero bloqueado, el paso del canal y la tarea general reciben el estado `20` (Fallido). No se intenta el fallback al siguiente canal en este caso.\n\n### C\u00f3digo de verificaci\u00f3n\n\nEl c\u00f3digo de verificaci\u00f3n es una cadena num\u00e9rica (4\u20138 d\u00edgitos) enviada al destinatario:\n\n- **C\u00f3digo personalizado**: Proporcione su propio c\u00f3digo a trav\u00e9s de la propiedad `code` (4\u20138 caracteres).\n- **Generado autom\u00e1ticamente**: Si no se proporciona `code`, se genera un c\u00f3digo num\u00e9rico aleatorio. Controle la longitud con `code_length` (predeterminado: 4, rango: 4\u20138).\n\nUse la propiedad `template` por canal para personalizar el texto del mensaje. El marcador de posici\u00f3n `{{code}}` se reemplaza con el c\u00f3digo de verificaci\u00f3n real. Si no se proporciona una plantilla, se utiliza un mensaje traducido predeterminado basado en el campo `lang`.\n\n### Seguridad: Eliminar c\u00f3digo despu\u00e9s del env\u00edo\n\nEstablezca `is_code_deleted` en `true` para eliminar autom\u00e1ticamente el c\u00f3digo de verificaci\u00f3n del almacenamiento de LOX24 despu\u00e9s de haber sido enviado al destinatario. Esto asegura que el c\u00f3digo no se conserve en la base de datos despu\u00e9s de la entrega.\n\n**IMPORTANTE:** Cuando `is_code_deleted` est\u00e1 activo, el campo `code` estar\u00e1 ausente en las respuestas GET posteriores despu\u00e9s de que la tarea se haya completado.\n\n### C\u00f3digos de estado\n\nTanto la tarea general como cada canal individual utilizan los mismos valores de estado, pero la sem\u00e1ntica difiere:\n\n**Estado de la tarea** (`status` de nivel superior):\n\n| Estado | Significado |\n|--------|------------|\n| `0` | Nuevo \u2014 solicitud creada, a\u00fan no procesada |\n| `5` | En progreso \u2014 entrega en curso |\n| `10` | \u00c9xito \u2014 c\u00f3digo entregado exitosamente a trav\u00e9s de al menos un canal |\n| `20` | Fallido \u2014 la entrega fall\u00f3 en **todos** los canales |\n| `100` | Error \u2014 error del sistema |\n\n**Estado del canal** (`history[].status`):\n\n| Estado | Significado |\n|--------|------------|\n| `0` | Nuevo \u2014 paso del canal creado, a\u00fan no procesado |\n| `5` | En progreso \u2014 enviando a trav\u00e9s de este canal |\n| `10` | \u00c9xito \u2014 entrega confirmada en este canal |\n| `20` | Fallido \u2014 la entrega fall\u00f3 en **este** canal |\n| `100` | Error \u2014 error del sistema en este canal |\n\n### Notificaciones Webhook\n\nLos eventos de c\u00f3digos de verificaci\u00f3n pueden enviarse a su endpoint de webhook. Los siguientes eventos est\u00e1n disponibles:\n\n- `verify_code.success` \u2014 el c\u00f3digo fue entregado exitosamente\n- `verify_code.failed` \u2014 la entrega fall\u00f3 en todos los canales\n- `verify_code.channel.sent` \u2014 c\u00f3digo enviado a trav\u00e9s de un canal espec\u00edfico\n- `verify_code.channel.success` \u2014 el canal confirm\u00f3 la entrega exitosa\n- `verify_code.channel.failed` \u2014 el canal no pudo realizar la entrega\n- `verify_code.channel.updated` \u2014 estado del canal actualizado\n\nConsulte la secci\u00f3n [Notificaciones Webhook](/#tag/notifications) para m\u00e1s detalles sobre la configuraci\u00f3n de endpoints de webhook.\n"
        },
        {
            "name": "release-notes",
            "x-displayName": "Release notes",
            "description": "Las notas de la versi\u00f3n le informan de las novedades de la API. Como siempre, agradecemos su [feedback](mailto:berlin@lox24.eu).\n\n### 2.25 (2026-06-07)\n\n#### A\u00f1adido\n\n- Nuevo endpoint: `/verify_codes`: se agreg\u00f3 una API REST dedicada para crear y administrar c\u00f3digos de verificaci\u00f3n de un solo uso (OTP). Admite una estrategia de enrutamiento de varios pasos (Telegram, llamada de voz, SMS) con fallback autom\u00e1tico y control de tiempo de espera.\n- Nuevo endpoint: `/pricelist/{country}`: Endpoint p\u00fablico para descargar listas de precios SMS. Devuelve precios para todas las rutas de servicio disponibles (direct, text2speech, economy, pro) en formato JSON, Excel o CSV. Soporta filtrado por moneda (EUR, CHF) y nombres de pa\u00edses en varios idiomas (es, en, de, pt, pl). Incluye requisitos de env\u00edo espec\u00edficos del pa\u00eds. No requiere autenticaci\u00f3n.\n\n### 2.24 (2025-12-10)\n\n#### A\u00f1adido\n\n- Nueva propiedad `attempts_count_max` para el endpoint de SMS: Control sobre el n\u00famero m\u00e1ximo de intentos de entrega para servicios de voz (text2speech, text2speech_ssml). Acepta valores 1, 2 o 3 para servicios de voz, permitiendo un control preciso del comportamiento de reintento de llamadas. Debe ser null para servicios de SMS est\u00e1ndar.\n\n### 2.23 (2025-11-20)\n\n#### Changed\n\n- Se ampli\u00f3 la compatibilidad con idiomas para mensajes de voz de 5 a 20 idiomas. Ahora los usuarios pueden configurar `voice_lang` con cualquiera de los siguientes idiomas europeos: EN, DE, FR, IT, ES, PL, NL, RO, PT, CS, HU, SV, DA, FI, SK, HR, TR, RU, BG, UK.\n- Se mejor\u00f3 la detecci\u00f3n autom\u00e1tica de idiomas. Se cambi\u00f3 del an\u00e1lisis basado en prefijos telef\u00f3nicos al an\u00e1lisis de contenido mediante IA, utilizando el texto del mensaje cuando `voice_lang` es nulo.\n\n### 2.22 (2025-09-15)\n\n#### A\u00f1adido\n\n- Nuevos eventos webhook para la gesti\u00f3n de suscripciones de tel\u00e9fonos: `phone.subscribe` y `phone.unsubscribe`\n- Se ha a\u00f1adido compatibilidad con direcciones IP v6 para el punto final `POST /fraud-checks`.\n\n### 2.21 (2025-09-10)\n\n#### A\u00f1adido\n\n- Nuevo punto final: `/blocked_numbers`: se ha a\u00f1adido una API REST dedicada para gestionar los n\u00fameros de tel\u00e9fono bloqueados en las campa\u00f1as de SMS. El punto final proporciona una funcionalidad CRUD completa para mantener una lista centralizada de n\u00fameros de tel\u00e9fono que no deben recibir mensajes SMS.\n\n### 2.20 (2025-08-20)\n\n#### A\u00f1adido\n\n- Encabezados de respuesta: todas las respuestas de la API incluyen ahora un encabezado \u00fanico `X-LOX24-REQUEST-ID` con fines de asistencia t\u00e9cnica y seguimiento.\n\n### 2.19 (2025-08-15)\n\n#### Cambiado\n\n- Reorganizaci\u00f3n de la especificaci\u00f3n OpenAPI - Importante reestructuraci\u00f3n con m\u00faltiples errores sem\u00e1nticos corregidos\n- Representaci\u00f3n de la documentaci\u00f3n - Sustituci\u00f3n de la representaci\u00f3n din\u00e1mica del navegador OpenAPI JSON por p\u00e1ginas HTML compiladas est\u00e1ticas.\n\n#### A\u00f1adido\n\n- Webhooks documentaci\u00f3n - A\u00f1adido webhooks descripci\u00f3n completa y detalles de implementaci\u00f3n\n- Nuevos eventos webhook para an\u00e1lisis de Email a SMS: `sms.email.parsing.success` y `sms.email.parsing.fail`\n\n### 2.18 (2023-10-03)\n\n#### Nuevo\n\n- A\u00f1adida la funci\u00f3n [Enviar correo electr\u00f3nico a un \u00fanico SMS](/es/info/kannel/email-to-sms/)\n\n### 2.17 (2023-06-28)\n\n#### Nuevo\n\n-SMS y SMS masivo propiedad `is_text_deleted` del endpoint [Simular el env\u00edo de un SMS (para pruebas)](/es/api/operations/api_sms_post_collection/) and [Crear el Bulk](/es/api/operations/api_bulks_get_collection/)\n- [Propiedad `max_sms_parts` del endpoint Email2Bulk](/es/info/kannel/email-to-sms/)\n- Notificaciones por eventos `bulk.email.parsing.success` y `bulk.email.parsing.fail`\n- A\u00f1adida la propiedad timestamp `balance_changed_at` al endpoint `GET /me`.\n\n### 2.16 (2023-01-09)\n\n#### Nuevo\n\n- A\u00f1adido filtro por la propiedad `callback_data` del endpoint [Recupera la colecci\u00f3n de SMS](/es/api/operations/api_sms_get_collection/)\n- [Propiedad `max_sms_parts` del endpoint Email2Bulk](/es/info/kannel/email-to-sms/)\n- Notification por evento `bulk.email.parsing.success` y `bulk.email.parsing.fail`\n\n\n### 2.15 (2022-10-25)\n\n#### Nuevo\n\n- Se ha a\u00f1adido una propiedad de direcci\u00f3n a [API de Detecci\u00f3n de fraudes ](/es/info/kannel/fraud-detection/)\n\n\n### 2.14 (2022-08-17)\n\n#### Nuevo\n\n- A\u00f1adidas las propiedades de s\u00f3lo lectura de los tel\u00e9fono `subscribed_at`, `unsubscribed_at` y `unsubscribed_reason` (ver [API de Tel\u00e9fonos ](/es/api/operations/api_phones_get_item/)\n\n\n### 2.13 (2022-08-01)\n\n#### Nuevo\n\n- Se agreg\u00f3  [API de Detenci\u00f3n de Fraude](/es/info/kannel/fraud-detection/)\n\n### 2.12 (2022-05-05)\n\n#### Nuevo\n\n- Se agrego [Funci\u00f3n de correo electr\u00f3nico a SMS masivo](/es/info/kannel/email-to-sms/)\n\n### 2.11 (2022-03-31)\n\n#### Nuevo\n\n- A\u00f1adida la funcionalidad de enlaces cortos\n    - [Campa\u00f1as de enlaces cortos](/es/info/kannel/campaigns/)\n    - [Listas de enlaces breves](/es/info/kannel/links/)\n    - [Solicitudes por enlaces cortos](/es/info/kannel/requests/)\n    - [Estad\u00edsticas de clics](/es/info/kannel/click-rate/)\n\n### 2.10 (2021-09-23)\n\n#### Nuevo\n\n- A\u00f1adido el punto final [Borrar el SMS entrante](/es/api/operations/api_incomings_delete_item/)\n\n#### Se corrigi\u00f3 \n- Por defecto, la lista de SMS entrantes se ordena por valores decrecientes del campo ``received_at``.\n\n\n### 2.9 (2021-05-06)\n\n#### Nuevo\n\n- Se ha a\u00f1adido la posibilidad de autenticarse utilizando la nueva versi\u00f3n de la clave API con una \u00fanica cabecera ``X-LOX24-AUTH-TOKEN``, la cabecera ``X-LOX24-AUTH-CLIENT-ID`` est\u00e1 obsoleta y no se recomienda su uso.\n\n\n### 2.8.1 (2021-04-01)\n\n#### Nuevo\n\n- Mensajes de voz. A\u00f1adida la propiedad ```voice_lang`` a los objetos de petici\u00f3n/respuesta SMS y Bulk.\n\n### 2.8.0 (2021-02-21)\n\n#### Nuevo\n\n- Bloquear temporalmente la direcci\u00f3n IP tras varios intentos de autenticaci\u00f3n no v\u00e1lidos.\n\n\n### 2.7.1 (2021-02-16)\n\n#### Se corrigi\u00f3 \n- Corregida la descripci\u00f3n de la solicitud en el [Crear el Bulk](/es/api/operations/api_bulks_get_collection/) y [Simular la creaci\u00f3n de un Bulk (para pruebas)](/es/api/operations/api_bulks_post_dryrun_collection/)\n\n### 2.7 (2020-07-17)\n\n#### Nuevo\n\n- Creado [Emulaci\u00f3n de la API de Kannel](/es/info/kannel/kannel/).\n\n### 2.6 (2020-06-23)\n\n#### Nuevo\n\n- Se ha a\u00f1adido la posibilidad de enviar SMS con datos adicionales que se devolver\u00e1n al punto final DLR.\n\n### 2.5 (2020-06-10)\n\n#### Desarrollador\n\n- A\u00f1adido c\u00f3digo de ejemplo por endpoints de Tel\u00e9fonos y Grupos.\n\n### 2.4 (2020-05-29)\n\n#### Desarrollador\n\n- A\u00f1adido c\u00f3digo de ejemplo en GoLang, Java y Python.\n\n### 2.3 (2020-05-25)\n\n#### Nuevo\n\n- A\u00f1adido filtro booleano de la lista de Bulks `GET /bulks` por la propiedad `is_dryrun`.\n- A\u00f1adida la propiedad timestamp `balance_changed_at` al endpoint `GET /me`.\n\n### 2.2 (2020-05-19)\n\n#### Nuevo\n\n- Creados los endpoints `GET /incomings` y `GET /incomings/{id}` para recuperar informaci\u00f3n sobre SMS entrantes y relacionados.\n- Activado el webhook de informe DLR en la petici\u00f3n `POST /sms/dryrun`.\n- Se agreg\u00f3 el filtro *exact* por `key_id` en `GET /bulks` y `GET /sms`.\n\n\n#### Desarrollador\n- A\u00f1adido c\u00f3digo de ejemplo en PHP, C# y Javascript por `/sms`, `/bulks` y `/incomings` endpoints.\n- Secci\u00f3n a\u00f1adida [SMS entrantes y SMS de respuesta](/es/info/kannel/inbound-and-reply-sms/) sobre los SMS entrantes.\n\n#### Se corrigi\u00f3 \n\n- Se ha corregido un error relacionado con el almacenamiento de la direcci\u00f3n IP, la fecha y la hora del \u00faltimo uso de la clave de API.\n\n\n### 2.1 (2020-03-18)\n\n#### Nuevo\n\n- La funci\u00f3n que le ayuda a hacer [bulk sms](/es/info/kannel/bulks/) en una sola petici\u00f3n HTTP:\n  - con plantilla de texto y grupos de contactos\n  - c\u00e1lculo preliminar del coste de los SMS masivos\n  - respuesta r\u00e1pida del servidor y procesamiento as\u00edncrono\n  - opci\u00f3n de cancelaci\u00f3n de SMS masivos incluso durante el procesamiento\nEndpoint nuevo POST /groups/{id}/phones/batch\n  - combinar varios POST /groups/{id}/phones to an one request\n- Filtros implementados `GET /sms` por la propiedad `bulk`.\n- Filtros implementados `GET /bulks` por la propiedad `source`.\n- A\u00f1adida informaci\u00f3n de ID de clave API a las respuestas `sms` y `bulks`\n\n#### Se corrigi\u00f3 \n\n- A\u00f1adida propiedad `price` al objeto de respuesta SMS\n- Descripci\u00f3n de los par\u00e1metros de autorizaci\u00f3n en la documentaci\u00f3n de la API\n\n### 2.0-beta (2019-12-15)\n\n#### Nuevo\n\n- La API v2.0 se ha desarrollado de acuerdo con las normas del sector para facilitar al m\u00e1ximo la integraci\u00f3n. Adem\u00e1s, ahora puedes transmitir grandes cantidades de SMS con una sola consulta y recuperar informaci\u00f3n detallada sobre los mensajes en cualquier momento.\n\n- La amplia funcionalidad de grupo le permite gestionar sus listas de correo en nuestra nube de alto rendimiento y ahorrar as\u00ed sus propios recursos. Todo ello sin dejar de cumplir las normas europeas de protecci\u00f3n de datos y la Ley alemana de Telecomunicaciones.\n\n#### Desarrollador\n\nEncontrar\u00e1 la descripci\u00f3n de la nueva API en https://doc.lox24.eu/\n"
        }
    ],
    "paths": {
        "/bulks": {
            "get": {
                "operationId": "api_bulks_get_collection",
                "tags": [
                    "bulks"
                ],
                "responses": {
                    "200": {
                        "description": "bulks collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.bulks.jsonld-bulk_read_status"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "$ref": "#/components/schemas/hydra.totalItems"
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.bulks-bulk_read_status"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la colecci\u00f3n de Bulks",
                "description": "Obtener la lista de bultos del buz\u00f3n, ordenados por el campo `created_at` en orden descendente. El buz\u00f3n contiene todos los SMS enviados, no enviados y terminados.  Tambi\u00e9n puede ordenar opcionalmente seg\u00fan el precio o la hora de transmisi\u00f3n al operador de red. Tambi\u00e9n tiene la opci\u00f3n de transferir diferentes criterios de b\u00fasqueda para limitar la salida de los mensajes del buz\u00f3n",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.exact"
                    },
                    {
                        "$ref": "#/components/parameters/order.common.created_at"
                    },
                    {
                        "$ref": "#/components/parameters/order.messages.delivery_at"
                    },
                    {
                        "$ref": "#/components/parameters/order.common.processed_at"
                    },
                    {
                        "$ref": "#/components/parameters/order.bulks.msg_total_count"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.text.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.sender_id.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.bulks.status_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.bulks.status_code.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.processed_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.processed_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.bulks.msg_total_count.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.bulks.msg_total_count.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_unicode.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_dryrun.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_unicode.exists"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/bulks \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/bulks?_order[created_at]=desc\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"bulks collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/bulks?sender_id=testsender\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.bulks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetBulksCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n        var url = \"https://api.lox24.eu/bulks?_order[created_at]=desc\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"created_at[gte]=1589713050&_order[created_at]=desc\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - bulks collection response');\n        res.on('data', d => {process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    }  else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/bulks';\n\n$filters = [\n    'sender_id' => 'test',\n    'created_at' => [\n        'gte' => 1588777845\n    ],\n    'page' => 1,\n    '_order' => [\n        'created_at' => 'desc'\n    ],\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\necho $uri;\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/bulks?_order[created_at]=desc\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - bulks collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_bulks_post_collection",
                "tags": [
                    "bulks"
                ],
                "responses": {
                    "201": {
                        "description": "bulks resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks.jsonld-bulk_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks-bulk_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Crear el Bulk",
                "description": "Crear una campa\u00f1a de SMS masivos enviando una solicitud POST con los detalles del mensaje y la informaci\u00f3n del destinatario.",
                "parameters": [],
                "requestBody": {
                    "description": "The new bulks resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.bulks-bulk_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/bulks \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n   -d '{\n\t\"sender_id\": \"testbulk\",\n    \"text\": \"test bulk text\",\n    \"service_code\": \"direct\",\n    \"phones\": [\"+49751234567\"],\n    \"msg_groups\": [7117],\n    \"delivery_at\": 1573724611,\n    \"is_unicode\": true,\n    \"source\": 1234,\n    \"voice_lang\": \"DE\"\n    }'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/bulks\";\n\n            var data = new {\n                sender_id = \"My Sender\",\n                text = \"Test message!\",\n                service_code = \"direct\",\n                phones = new string[]{\"+49751234567\", \"+49751234568\"},\n                msg_groups = new int[]{14514},\n                delivery_at = 1573724611,\n                is_unicode = true,\n                voice_lang = \"DE\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"bulks resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create bulk\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/bulks\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"sender_id\":    \"testbulk\",\n\t\t\"text\":         \"test bulk text\",\n\t\t\"service_code\": \"direct\",\n\t\t\"phones\":       []string{\"+49751234567\"},\n\t\t\"msg_groups\":   []int{7117},\n\t\t\"delivery_at\":  1593724611,\n\t\t\"is_unicode\":   true,\n\t\t\"source\":       1234,\n\t\t\"voice_lang\":   \"DE\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.bulks;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostBulksCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/bulks\";\n\n        var json = new JSONObject();\n        json.put(\"sender_id\", \"My Sender\");\n        json.put(\"text\", \"Test message!\");\n        json.put(\"service_code\", \"direct\");\n        json.put(\"phones\", new String[]{\"+49751234567\", \"+49751234568\", \"+49751234569\"});\n        json.put(\"msg_groups\", new int[]{7116, 7117});\n        json.put(\"delivery_at\", 1573724611);\n        json.put(\"is_unicode\", true);\n        json.put(\"voice_lang\", \"DE\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create bulk\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    sender_id: 'My Sender',\n    text: 'Test message',\n    service_code: 'direct',\n    phones: ['+49751234567', '+344354634'],\n    msg_groups: [7117],\n    delivery_at: 1573724611,\n    is_unicode: true,\n    voice_lang: 'DE',\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - bulks resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.write(postdata);\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/bulks';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'sender_id' => 'testbulk',\n    'text' => 'test bulk text',\n    'service_code' => 'direct',\n    'phones' => ['+49751234567'],\n    'msg_groups' => [7117],\n    'delivery_at' => 1573724611,\n    'is_unicode' => true,\n    'source' => 1234,\n    'voice_lang' => 'DE',\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 30,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/bulks\"\n\ndata = {\n    'sender_id': \"My Sender\",\n    'text' : \"Test message\",\n    'service_code' : \"direct\",\n    'phones': [\"+49751234567\", \"+49751234568\"],\n    'msg_groups': [14514],\n    'delivery_at': 1573724611,\n    'is_unicode': True,\n    'voice_lang' : \"DE\"\n}\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data: \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - bulks resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(\"Response: \", json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/bulks/dryrun": {
            "post": {
                "operationId": "api_bulks_post_dryrun_collection",
                "tags": [
                    "bulks"
                ],
                "responses": {
                    "201": {
                        "description": "bulks resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks.jsonld-bulk_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks-bulk_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Simular la creaci\u00f3n de un Bulk (para pruebas)",
                "description": "Este endpoint se utiliza con fines de prueba para emular la creaci\u00f3n de un Bulk sin crear realmente SMS y pasarlos al operador de red a cambio de una tarifa.",
                "parameters": [],
                "requestBody": {
                    "description": "The new bulks resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.bulks-bulk_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/bulks/dryrun \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n   -d '{\n\t\"sender_id\": \"testbulk\",\n    \"text\": \"test bulk text\",\n    \"service_code\": \"direct\",\n    \"phones\": [\"+49751234567\"],\n    \"msg_groups\": [7117],\n    \"delivery_at\": 1573724611,\n    \"is_unicode\": true,\n    \"source\": 1234,\n    \"voice_lang\": \"DE\"\n    }'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/bulks/dryrun\";\n\n            var data = new {\n                sender_id = \"My Sender\",\n                text = \"Test message!\",\n                service_code = \"direct\",\n                phones = new string[]{\"+49751234567\", \"+49751234568\"},\n                msg_groups = new int[]{14514},\n                delivery_at = 1573724611,\n                is_unicode = true,\n                voice_lang = \"DE\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"bulks resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create bulk\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/bulks/dryrun\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"sender_id\":    \"testbulk\",\n\t\t\"text\":         \"test bulk text\",\n\t\t\"service_code\": \"direct\",\n\t\t\"phones\":       []string{\"+49751234567\"},\n\t\t\"msg_groups\":   []int{7117},\n\t\t\"delivery_at\":  1593724611,\n\t\t\"is_unicode\":   true,\n\t\t\"source\":       1234,\n\t\t\"voice_lang\":   \"DE\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.bulks;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostDryRunBulksCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/bulks/dryrun\";\n\n        var json = new JSONObject();\n        json.put(\"sender_id\", \"My Sender\");\n        json.put(\"text\", \"Test message!\");\n        json.put(\"service_code\", \"direct\");\n        json.put(\"phones\", new String[]{\"+49751234567\", \"+49751234568\", \"+49751234569\"});\n        json.put(\"msg_groups\", new int[]{7116, 7117});\n        json.put(\"delivery_at\", 1573724611);\n        json.put(\"is_unicode\", true);\n        json.put(\"voice_lang\", \"DE\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create bulk\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    sender_id: 'My Sender',\n    text: 'Test message',\n    service_code: 'direct',\n    phones: ['+49751234567', '+344354634'],\n    msg_groups: [7117],\n    delivery_at: 1573724611,\n    is_unicode: true,\n    voice_lang: 'DE',\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks/dryrun',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - bulks resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.write(postdata);\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/bulks/dryrun';\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'sender_id' => 'testbulk',\n    'text' => 'test bulk text',\n    'service_code' => 'direct',\n    'phones' => ['+49751234567'],\n    'msg_groups' => [7117],\n    'delivery_at' => 1573724611,\n    'is_unicode' => true,\n    'source' => 1234,\n    'voice_lang' => 'DE',\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 30,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/bulks/dryrun\"\n\ndata = {\n    'sender_id': \"My Sender\",\n    'text' : \"Test message\",\n    'service_code' : \"direct\",\n    'phones': [\"+49751234567\", \"+49751234568\"],\n    'msg_groups': [14514],\n    'delivery_at': 1573724611,\n    'is_unicode': True,\n    'voice_lang' : \"DE\"\n}\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data: \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - bulks resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(\"Response: \", json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/bulks/{id}": {
            "get": {
                "operationId": "api_bulks_get_item",
                "tags": [
                    "bulks"
                ],
                "responses": {
                    "200": {
                        "description": "bulks resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks.jsonld-bulk_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks-bulk_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la entrada de Bulk",
                "description": "Obtener la entidad \u00fanica Bulk por el ID (`uuid`). Si no se encuentra Bulk, se responder\u00e1 con el c\u00f3digo HTTP 404.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.bulks.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n            string url = \"https://api.lox24.eu/bulks/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"bulks resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/bulks/981f6497-a03e-11ea-b2e9-b8ca3a65338c\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.bulks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetBulksItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n        var url = \"https://api.lox24.eu/bulks/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create bulk\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '34153580-982d-11ea-aa81-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - bulks resource response');\n        res.on('data', d => { process.stdout.write(d)})\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/bulks/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Bulk with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nbulk_id = \"343c785b-8567-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/bulks/{bulk_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - bulks resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            },
            "delete": {
                "operationId": "api_bulks_delete_item",
                "tags": [
                    "bulks"
                ],
                "responses": {
                    "204": {
                        "$ref": "#/components/responses/204-deleted"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Eliminar un Bulk",
                "description": "Eliminar la entidad Bulk por el ID . La respuesta del endpoint no contiene el cuerpo y tiene el c\u00f3digo HTTP 204 si el SMS fue removido o 404 si no existe. Atenci\u00f3n. El Bulk tambi\u00e9n se borrado de la factura detallada. Por lo tanto, las reclamaciones posteriores quedan excluidas por falta de trazabilidad.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Bulk ID",
                        "required": true,
                        "deprecated": false,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "string"
                        },
                        "style": "simple",
                        "explode": false,
                        "allowReserved": false
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"851b600d-901e-11ea-aa81-96000028b339\";\n            string url = \"https://api.lox24.eu/bulks/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"DELETE\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    if(resp.StatusCode == HttpStatusCode.NoContent) { //204\n                        Console.WriteLine(\"Success: bulk was deleted\");\n                    } else {\n                        Console.WriteLine(\"Error: something went wrong, code({0})\", respCode);\n                        Stream respStream = resp.GetResponseStream();\n                        using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                        {\n                            string responseText = sr.ReadToEnd();\n\n                            JObject parsed = JObject.Parse(responseText);\n\n                            foreach (var pair in parsed)\n                            {\n                                Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n                            }\n                        }\n                    }\n\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"DELETE\"\n\tconst URL = \"https://api.lox24.eu/bulks/981f6497-a03e-11ea-b2e9-b8ca3a65338c\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tswitch res.StatusCode {\n\tcase 204:\n\t\tfmt.Println(\"Bulk and related sms was deleted!\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.bulks;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class DeleteBulksItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n        var id = \"851b600d-901e-11ea-aa81-96000028b339\";\n        var url = \"https://api.lox24.eu/bulks/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_NO_CONTENT) {\n                System.out.println(\"Success: bulk was deleted\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: something went wrong \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '20f39273-0566-11ea-a637-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 204) {\n        console.log(\"Success: code = 204 - bulks resource deleted\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    }  else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/bulks/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\nif(204 === $code) {\n    echo \"Bulk with id = {$id} was deleted!\";\n} elseif(404 === $code) {\n    echo \"Bulk with id = {$id} not found!\";\n} else {\n    $data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nbulk_id = \"851b600d-901e-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/bulks/{bulk_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 204: # No Content\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - bulk was deleted')\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error: code = 404 -  Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/bulks/{id}/cancel": {
            "put": {
                "operationId": "api_bulks_put_cancel_item",
                "tags": [
                    "bulks"
                ],
                "responses": {
                    "200": {
                        "description": "bulks resource updated",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks.jsonld-bulk_read_status"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks-bulk_read_status"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Cancelar el procesamiento masivo",
                "description": "Cancelar el procesamiento de Bulk si tiene `status_code = 0` (New) o `status_code = 5` y relacionados con los mensajes masivos con `is_sent = False`",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.bulks.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X PUT https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339/cancel \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string id = \"984af866-902e-11ea-aa81-96000028b339\";\n            string url = \"https://api.lox24.eu/bulks/\" + id + \"/cancel\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000; //this can cause issues which is why we are manually setting this\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"PUT\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    if(resp.StatusCode == HttpStatusCode.OK) {\n                        Console.WriteLine(\"Success: bulk {0} was canceled!\", id);\n                    } else {\n                        Console.WriteLine(\"Error: bulk {0} wasn't canceled, code = {0}\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"PUT\"\n\tconst URL = \"https://api.lox24.eu/bulks/52a84594-9a7b-11ea-b2e9-b8ca3a65338c/cancel\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.bulks;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PutCancelBulksItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n        var url = \"https://api.lox24.eu/bulks/\" + id + \"/cancel\";\n\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .PUT(HttpRequest.BodyPublishers.noBody())\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks resource updated\");\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on update bulks\");\n\n                switch (httpResponse.statusCode()) {\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '4897749e-982d-11ea-aa81-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks/' + id + '/cancel',\n    method: 'PUT',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 204 - bulks resource processing canceled\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    }  else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/bulks/' . $id  . '/cancel';\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'PUT',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo \"Bulk with id = {$id} was canceled: \" . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Bulk with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nbulk_id = \"343c785b-8567-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/bulks/{bulk_id}/cancel'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.put(url, headers=headers, timeout=100)\n    if res.status_code != 200: # Ok\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - bullks resource updated')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(res.text)\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/bulks/{id}/status": {
            "get": {
                "operationId": "get_status",
                "tags": [
                    "bulks"
                ],
                "responses": {
                    "200": {
                        "description": "bulks resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks.jsonld-bulk_read_status"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.bulks-bulk_read_status"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera el estado actual de la entrada de Bulk",
                "description": "Obtener informaci\u00f3n breve sobre el estado de Bulk",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.bulks.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/bulks/da0fa78c-4699-11ea-a637-96000028b339/status \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n            string url = \"https://api.lox24.eu/bulks/\" + id + \"/status\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"bulk status resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/bulks/981f6497-a03e-11ea-b2e9-b8ca3a65338c/status\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.bulks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetBulksItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n        var url = \"https://api.lox24.eu/bulks/\" + id + \"/status\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create bulk\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '4897749e-982d-11ea-aa81-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks/' + id + '/status',\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - bulks resource response');\n        res.on('data', d => { process.stdout.write(d)})\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/bulks/' . $id . '/status';\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Bulk with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nbulk_id = \"343c785b-8567-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/bulks/{bulk_id}/status'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - bulks resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/me": {
            "get": {
                "operationId": "getAccountInfo",
                "tags": [
                    "user"
                ],
                "responses": {
                    "200": {
                        "description": "client resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.client.jsonld-get"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.client-get"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Informaci\u00f3n de Perfil del Usuario",
                "description": "Con esta interfaz, puede consultar el saldo de su cuenta. Si utiliza una\nobtendr\u00e1 el saldo disponible (sin IVA). Si tiene una cuenta de pospago, obtendr\u00e1 su l\u00edmite de cr\u00e9dito de sms\nrestante. La respuesta a la consulta tambi\u00e9n contiene informaci\u00f3n sobre tus servicios SMS disponibles y tus grupos.",
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/me \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/me\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"client resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                //int errorCode = int.Parse(Regex.Replace(ex.Message, @\"\\D\", \"\"));\n                switch (webResponse.StatusCode)\n                {\n\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/me\"\n\tconst Token = \"1234567:1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.user;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetAccountInfo {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/me\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder().build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"client resource response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error:\" + httpResponse.statusCode());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/me',\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - client resource response');\n        res.on('data', d => {\n            process.stdout.write(d)\n        })\n    } else {\n        console.log(`statusCode: ${res.statusCode}`)\n        if (res.statusCode == 200) {\n            console.log(\"Success: code = 200 - bulks collection response\");\n        } else if (res.statusCode  == 401) {\n            console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n        } else if (res.statusCode  == 403) {\n            console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n        }  else {\n            console.log(\"Error: code = \" + res.statusCode );\n        }\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/me';\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\ntoken = \"4f8432430c640ee96c9f8a3eb880d477\"\nclient_id = \"3\"\n\nurl = 'https://api.lox24.eu/me'\n\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print('Success: code = 200 - client resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/pricelist/{country}": {
            "get": {
                "operationId": "getPricelist",
                "tags": [
                    "pricelist"
                ],
                "security": [],
                "summary": "Exportaci\u00f3n de lista de precios",
                "description": "Descargue una lista de precios para servicios SMS. Devuelve precios para rutas Direct y Text2Speech en formato JSON, XLSX o CSV. Especifique un c\u00f3digo de pa\u00eds ISO de 2 letras (por ejemplo, DE, CH) o 'all' para todos los pa\u00edses. La respuesta incluye moneda y requisitos espec\u00edficos del pa\u00eds.",
                "parameters": [
                    {
                        "name": "country",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}$|^all$"
                        },
                        "description": "C\u00f3digo de pa\u00eds ISO de dos letras o 'all' para todos los pa\u00edses"
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "json",
                                "xlsx",
                                "csv"
                            ],
                            "default": "json"
                        },
                        "description": "Formato de salida"
                    },
                    {
                        "name": "currency",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "EUR",
                                "CHF"
                            ],
                            "default": "EUR"
                        },
                        "description": "Moneda para los precios"
                    },
                    {
                        "name": "lang",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "en",
                                "de",
                                "es",
                                "pt",
                                "pl"
                            ],
                            "default": "en"
                        },
                        "description": "Idioma para los nombres de pa\u00edses"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Price list file",
                        "content": {
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "text/csv": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.pricelist"
                                },
                                "examples": {
                                    "pricelist": {
                                        "$ref": "#/components/examples/pricelist"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -s 'https://api.lox24.eu/pricelist/de?currency=chf&lang=de'\n",
                        "label": "Bash - Get prices for Germany in CHF"
                    },
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -s 'https://api.lox24.eu/pricelist/all?format=xlsx&currency=eur&lang=de' -o lox24_pricelist_eur_all.xlsx\n",
                        "label": "Bash - Download all prices in Excel"
                    },
                    {
                        "lang": "csharp",
                        "source": "using System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class Pricelist\n    {\n        static void Main()\n        {\n            string url = \"https://api.lox24.eu/pricelist/de?currency=chf&lang=de\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.Method = \"GET\";\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    using (StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.UTF8))\n                    {\n                        Console.WriteLine(sr.ReadToEnd());\n                    }\n                }\n            }\n            catch (WebException ex)\n            {\n                var webResponse = ex.Response as HttpWebResponse;\n                Console.WriteLine(\"Error: \" + webResponse.StatusCode);\n                using (StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8))\n                {\n                    Console.WriteLine(sr.ReadToEnd());\n                }\n            }\n        }\n    }\n}\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\turl := \"https://api.lox24.eu/pricelist/de?currency=chf&lang=de\"\n\n\tres, err := http.Get(url)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tdefer res.Body.Close()\n\n\tbody, err := io.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tif res.StatusCode == 200 {\n\t\tfmt.Println(string(body))\n\t} else {\n\t\tfmt.Printf(\"Error: %d\\n%s\\n\", res.StatusCode, string(body))\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.user;\n\nimport java.io.IOException;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetPricelist {\n\n    public static void main(String[] args) {\n\n        var url = \"https://api.lox24.eu/pricelist/de?currency=chf&lang=de\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder().build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == 200) {\n                System.out.println(httpResponse.body());\n            } else {\n                System.out.println(\"Error: \" + httpResponse.statusCode());\n                System.out.println(httpResponse.body());\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const https = require('https');\n\nconst url = 'https://api.lox24.eu/pricelist/de?currency=chf&lang=de';\n\nhttps.get(url, res => {\n    let data = '';\n    res.on('data', chunk => data += chunk);\n    res.on('end', () => {\n        if (res.statusCode === 200) {\n            console.log(JSON.parse(data));\n        } else {\n            console.log(`Error: ${res.statusCode}`);\n            console.log(data);\n        }\n    });\n}).on('error', err => {\n    console.error(err);\n});\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/pricelist/de?currency=chf&lang=de';\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, true);\n\nif (200 === $code) {\n    echo json_encode($data, JSON_PRETTY_PRINT);\n} else {\n    echo \"Error: code = {$code}\\n\" . $response;\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\nurl = 'https://api.lox24.eu/pricelist/de'\nparams = {'currency': 'chf', 'lang': 'de'}\n\ntry:\n    res = requests.get(url, params=params, timeout=100)\n    res.raise_for_status()\n    print(json.dumps(res.json(), indent=4))\nexcept requests.HTTPError:\n    print(f'Error: {res.status_code}')\n    print(res.text)\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/fraud-checks": {
            "get": {
                "operationId": "api_fraud-check_get_collection",
                "tags": [
                    "fraud-detection"
                ],
                "responses": {
                    "200": {
                        "description": "fraud-check collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.fraud-check.jsonld-fraud_request_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "$ref": "#/components/schemas/hydra.totalItems"
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.fraud-check-fraud_request_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List of all Fraud Check requests",
                "description": "Retrieves the list of all previous Fraud Check requests",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.common.created_at"
                    },
                    {
                        "$ref": "#/components/parameters/filter.fraud-check.id.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.fraud-check.id.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.callback_data.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.fraud-check.request_phone.phone.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.fraud-check.request_email.email.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.fraud-check.request_ip.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.fraud-check.status_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.fraud-check.status_code.array"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/fraud-checks \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/fraud-checks?page=1&request_email.email=lox24.eu\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/fraud-checks?created_at[gte]=1590737094&request_email.email=lox24.eu\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.fraud_checks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetFraudRequestsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/fraud-checks?created_at[gte]=1590737094&request_email.email=lox24.eu\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder().build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error:\" + httpResponse.statusCode());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nlet query = \"_order[created_at]=desc&request_email.email=%40gmail.com\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/fraud-checks?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - request resource response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/fraud-checks';\n\n$filters = [\n    'request_email.email' => '@lox24.eu',\n    'id' => [\n        '8481900d-86ce-11ea-aa81-96000028b339',\n        'd5ceb189-86cd-11ea-aa81-96000028b339',\n    ],\n    'page' => 1,\n    '_order' => [\n        'created_at' => 'asc'\n    ],\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/fraud-checks?created_at[gte]=1590737094&request_email.email=lox24.eu'\n\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - Fraud request collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_fraud-check_post_collection",
                "tags": [
                    "fraud-detection"
                ],
                "responses": {
                    "201": {
                        "description": "fraud-check resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.fraud-check.jsonld-fraud_request_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.fraud-check-fraud_request_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "402": {
                        "description": "There are not enough funds on your account!"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Creates a new Fraud Check request",
                "description": "Send a Fraud Check request and get risk score value back.",
                "parameters": [],
                "requestBody": {
                    "description": "The new fraud-check resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.fraud-check-fraud_request_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/fraud-checks \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n          \"service_code\": \"direct\",\n          \"phone\": \"+49751234567\",\n          \"email\": \"test@lox24.de\",\n          \"ip\": \"1.1.1.1\",\n          \"address\": {\n                \"iso2\": \"DE\",\n                \"city\": \"Berlin\",\n                \"postcode\": \"13353\",\n                \"street_number\": \"109\",\n                \"street_name\": \"Seestra\u00dfe\"\n          }\n\n}'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/fraud-checks\";\n\n            var data = new {\n                service_code = \"direct\",\n                phone = \"+49751234567\",\n                email = \"test@lox24.de\",\n                ip = \"1.1.1.1\",\n                address = new {\n                    iso2 = \"DE\",\n                    city = \"Berlin\",\n                    postcode = \"13353\",\n                    street_number = \"109\",\n                    street_name = \"Seestra\u00dfe\"\n                }\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"sms resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create sms\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.PaymentRequired: // 402\n                        Console.WriteLine(\"Error:402 There are not enough funds on your account!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/fraud-checks\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\taddress := map[string]interface{}{\n\t\t\"iso2\":          \"DE\",\n\t\t\"city\":          \"Berlin\",\n\t\t\"postcode\":      \"13353\",\n\t\t\"street_number\": \"109\",\n\t\t\"street_name\":   \"Seestra\u00dfe\",\n\t}\n\tpayload := map[string]interface{}{\n\t\t\"service_code\": \"direct\",\n\t\t\"phone\":        \"+49751234567\",\n\t\t\"email\":        \"test@lox24.de\",\n\t\t\"ip\":           \"1.1.1.1\",\n\t\t\"address\":      address,\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.fraud_checks;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostFraudRequestCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/fraud-checks\";\n\n        var address = new JSONObject();\n        json.put(\"iso2\", \"DE\");\n        json.put(\"city\", \"Berlin\");\n        json.put(\"postcode\", \"13353\");\n        json.put(\"street_number\", \"109\");\n        json.put(\"street_name\", \"Seestra\u00dfe\");\n\n        var json = new JSONObject();\n\t\tjson.put(\"service_code\", \"direct\");\n\t\tjson.put(\"phone\", \"+49751234567\");\n\t\tjson.put(\"email\", \"test@lox24.de\");\n\t\tjson.put(\"ip\", \"1.1.1.1\");\n\t\tjson.put(\"address\", address);\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"request created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create request\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_PAYMENT_REQUIRED: // 402\n                        System.out.println(\"Error:402 There are not enough funds on your account!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const token = \"7b7c6063bab885ce79814b5ff1ee6885\";\n\nlet postObj = {\n\t\"service_code\": \"direct\",\n\t\"phone\": \"+49751234567\",\n\t\"email\": \"test@lox24.de\",\n\t\"ip\": \"1.1.1.1\",\n    \"address\": {\n        \"iso2\": \"DE\",\n        \"city\": \"Berlin\",\n        \"postcode\": \"13353\",\n        \"street_number\": \"109\",\n        \"street_name\": \"Seestra\u00dfe\"\n    }\n};\n\nlet postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: 'api.lox24.eu',\n    path: '/fraud-checks',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - request resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    }\n    else if (res.statusCode == 400) console.log(\"Error: code = 400 - Invalid input\");\n    else if (res.statusCode == 401) console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    else if (res.statusCode == 402) console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    else if (res.statusCode == 403) console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/fraud-checks';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'service_code' => 'direct',\n    'phone' => '+49751234567',\n    'email' => 'test@lox24.de',\n    'ip' => '1.1.1.1',\n    'address' => [\n        'iso2' => 'DE',\n        'city' => 'Berlin',\n        'postcode' => '13353',\n        'street_number' => '109',\n        'street_name' => 'Seestra\u00dfe',\n    ],\n];\n\nif (!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif (201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/fraud-checks'\n\n\ndata = {\n\t'service_code': 'direct',\n\t'phone': '+49751234567',\n\t'email': 'test@lox24.de',\n\t'ip': '1.1.1.1',\n    'address': {\n        'iso2': 'DE',\n        'city': 'Berlin',\n        'postcode': '13353',\n        'street_number': '109',\n        'street_name': 'Seestra\u00dfe'\n    }\n}\n\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create sms\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - Fraud request resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/fraud-checks/{id}": {
            "get": {
                "operationId": "api_fraud-check_get_item",
                "tags": [
                    "fraud-detection"
                ],
                "responses": {
                    "200": {
                        "description": "fraud-check resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.fraud-check.jsonld-fraud_request_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.fraud-check-fraud_request_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Retrieve Fraud Check request",
                "description": "Returns the data of a specific Fraud Check request",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.fraud-check.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/fraud-checks/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\";\n            string url = \"https://api.lox24.eu/fraud-checks/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"item resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/fraud-checks/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.fraud_checks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetBulksItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\";\n\n        var url = \"https://api.lox24.eu/fraud-checks/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nconst id = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/fraud-checks/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/fraud-checks/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Request with id = $id not found!\";\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nsms_id = \"11111111-2222-3333-4444-55555555555\"\n\nurl = f'https://api.lox24.eu/fraud-checks/{sms_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - Fraud request resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            },
            "delete": {
                "operationId": "api_fraud-check_delete_item",
                "tags": [
                    "fraud-detection"
                ],
                "responses": {
                    "204": {
                        "$ref": "#/components/responses/204-deleted"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Delete a specific previous Fraud Check request",
                "description": "Remove all information about a previous Fraud Check request.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.fraud-check.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/fraud-checks/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\";\n            string url = \"https://api.lox24.eu/fraud-checks/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"DELETE\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    if(resp.StatusCode == HttpStatusCode.NoContent) { //204\n                        Console.WriteLine(\"Success: sms was deleted\");\n                    } else {\n                        Console.WriteLine(\"Error: something went wrong, code({0})\", respCode);\n                        Stream respStream = resp.GetResponseStream();\n                        using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                        {\n                            string responseText = sr.ReadToEnd();\n\n                            JObject parsed = JObject.Parse(responseText);\n\n                            foreach (var pair in parsed)\n                            {\n                                Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n                            }\n                        }\n                    }\n\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"DELETE\"\n\tconst URL = \"https://api.lox24.eu/fraud-checks/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tswitch res.StatusCode {\n\tcase 204:\n\t\tfmt.Println(\"Fraud request was deleted!\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.fraud_checks;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class DeleteFraudRequestItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n        var id = \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\";\n        var url = \"https://api.lox24.eu/fraud-checks/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_NO_CONTENT) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"request was deleted.\");\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nlet id = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/fraud-checks/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 204) {\n        console.log('Success: code = 204 - fraud request resource deleted');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/fraud-checks/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\nif(204 === $code) {\n    echo \"Fraud check request with id = $id was deleted!\";\n} elseif(404 === $code) {\n    echo \"Fraud check request with id = $id not found!\";\n} else {\n    $data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n    echo \"Fraud check request: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nsms_id = \"11111111-2222-3333-4444-55555555555\"\n\nurl = f'https://api.lox24.eu/fraud-checks/{sms_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 204: # No Content\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - Fraud request was deleted')\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/groups": {
            "get": {
                "operationId": "api_groups_get_collection",
                "tags": [
                    "groups"
                ],
                "responses": {
                    "200": {
                        "description": "groups collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.groups.jsonld-group_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.groups-group_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la colecci\u00f3n de Grupos",
                "description": "Devuelve todos tus grupos (lista de distribuci\u00f3n SMS).",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/groups \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/groups?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"groups collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/groups?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.group;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetGroupsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/groups?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"groups collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - groups list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/groups';\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/groups?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - groups collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_groups_post_collection",
                "tags": [
                    "groups"
                ],
                "responses": {
                    "201": {
                        "description": "groups resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.groups.jsonld-group_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.groups-group_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Crear un Grupo",
                "description": "Con este comando creas una lista de correo SMS que se almacena en nuestro sistema para ti. Una lista de correo tiene un nombre, una descripci\u00f3n y cinco columnas adicionales que puedes agregar adem\u00e1s del n\u00famero de tel\u00e9fono.",
                "parameters": [],
                "requestBody": {
                    "description": "The new groups resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.groups-write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/groups \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"name\": \"My Clients\",\n      \"description\": \"Best clients\",\n      \"name_a\": \"prefix\",\n      \"name_b\": \"name\",\n      \"name_c\": \"datetime\",\n      \"name_d\": \"price\",\n      \"name_e\": \"something_else\"\n}'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/groups\";\n\n\n            var data = new {\n                name = \"My Clients\",\n                description = \"Best clients\",\n                name_a = \"prefix\",\n                name_b = \"name\",\n                name_c = \"datetime\",\n                name_d = \"price\",\n                name_e = \"something_else\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"group resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create group\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/groups\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"name\": \"My Clients\",\n\t\t\"description\": \"Best clients\",\n\t\t\"name_a\": \"prefix\",\n\t\t\"name_b\": \"name\",\n\t\t\"name_c\": \"datetime\",\n\t\t\"name_d\": \"price\",\n\t\t\"name_e\": \"something_else\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.group;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostGroupCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/groups\";\n\n        var json = new JSONObject();\n        json.put(\"name\", \"My Clients\");\n        json.put(\"description\", \"Best clients\");\n        json.put(\"name_a\", \"prefix\");\n        json.put(\"name_b\", \"name\");\n        json.put(\"name_c\", \"datetime\");\n        json.put(\"name_d\", \"price\");\n        json.put(\"name_e\", \"something_else\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"group resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create group\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    sender_id: 'My Sender',\n    text: 'Test message',\n    service_code: 'direct',\n    phone: '+49751234567',\n    delivery_at: 1573724611,\n    is_unicode: true\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - group resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/groups';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    \"name\" => \"My Clients\",\n    \"description\" => \"Best clients\",\n    \"name_a\" => \"prefix\",\n    \"name_b\" => \"name\",\n    \"name_c\" => \"datetime\",\n    \"name_d\" => \"price\",\n    \"name_e\" => \"something_else\",\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/groups'\n\n\ndata = {\n    'name': 'My Clients',\n    'description': 'Best clients',\n    'name_a': 'prefix',\n    'name_b': 'name',\n    'name_c': 'datetime',\n    'name_d': 'price',\n    'name_e': 'something_else'\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create group\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - group resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/groups/{id}": {
            "get": {
                "operationId": "api_groups_get_item",
                "tags": [
                    "groups"
                ],
                "responses": {
                    "200": {
                        "description": "groups resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.groups.jsonld-group_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.groups-group_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la entrada de Grupos",
                "description": "Devuelve los datos del grupo espec\u00edfico, como el nombre del grupo y la columna.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.groups.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/groups/12344  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"12344\";\n\n            string url = \"https://api.lox24.eu/groups/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"groups resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/groups/12344\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.group;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetGroupItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var userId = \"1234567\";\n        var id = \"12344\";\n\n        var url = \"https://api.lox24.eu/groups/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '12344';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '12344';\n$uri = 'https://api.lox24.eu/groups/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Group with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"12344\"\n\nurl = f'https://api.lox24.eu/groups/{id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - group resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            },
            "put": {
                "operationId": "api_groups_put_item",
                "tags": [
                    "groups"
                ],
                "responses": {
                    "200": {
                        "description": "groups resource updated",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.groups.jsonld-group_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.groups-group_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Editar un Grupo",
                "description": "Cambiar la configuraci\u00f3n de un grupo, como el nombre del grupo o la descripci\u00f3n.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.groups.id"
                    }
                ],
                "requestBody": {
                    "description": "The updated groups resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.groups-write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X PUT https://api.lox24.eu/groups/12344 \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"name\": \"My Clients\",\n      \"description\": \"Best clients\",\n      \"name_a\": \"prefix\",\n      \"name_b\": \"name\",\n      \"name_c\": \"datetime\",\n      \"name_d\": \"price\",\n      \"name_e\": \"something_else\"\n}'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/groups/12344\";\n\n\n            var data = new {\n                name = \"New group name\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"group resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create group\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"PUT\"\n\tconst URL = \"https://api.lox24.eu/groups/12344\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"name\": \"New group name\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.group;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PutGroupCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/groups/12344\";\n\n        var json = new JSONObject();\n        json.put(\"name\", \"New group name Clients\");\n\n        var data = json.toString();\n\n        System.out.println(\"PUT data: \" + data);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .PUT(HttpRequest.BodyPublishers.ofString(data))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"group resource updated);\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on update group\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '12344';\n\nvar postObj = {\n    \"name\": \"New group name\"\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups/' + id,\n    method: 'PUT',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 201 - group resource updated\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode);\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/groups/12344';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'name' => 'New group name',\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_CUSTOMREQUEST => 'PUT',\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"12344\"\n\nurl = f'https://api.lox24.eu/groups/{id}'\n\n\ndata = {\n    'name': 'New group name'\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.put(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 200: # OK\n        print(\"Error: Wrong response code on update group\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - group resource updated')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            },
            "delete": {
                "operationId": "api_groups_delete_item",
                "tags": [
                    "groups"
                ],
                "responses": {
                    "204": {
                        "$ref": "#/components/responses/204-deleted"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Eliminar un Grupo",
                "description": "Eliminar el grupo junto con todos los n\u00fameros de tel\u00e9fono asociados.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.groups.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/groups/12344  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"12344\";\n            string url = \"https://api.lox24.eu/groups/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"DELETE\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    if(resp.StatusCode == HttpStatusCode.NoContent) { //204\n                        Console.WriteLine(\"Success: group was deleted\");\n                    } else {\n                        Console.WriteLine(\"Error: something went wrong, code({0})\", respCode);\n                        Stream respStream = resp.GetResponseStream();\n                        using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                        {\n                            string responseText = sr.ReadToEnd();\n\n                            JObject parsed = JObject.Parse(responseText);\n\n                            foreach (var pair in parsed)\n                            {\n                                Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n                            }\n                        }\n                    }\n\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"DELETE\"\n\tconst URL = \"https://api.lox24.eu/groups/12344\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tswitch res.StatusCode {\n\tcase 204:\n\t\tfmt.Println(\"Group and related phones was deleted!\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.group;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class DeleteGroupItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var userId = \"1234567\";\n\n        var id = \"12344\";\n        var url = \"https://api.lox24.eu/groups/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_NO_CONTENT) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"group was delete.\");\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '12344';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 204) {\n        console.log('Success: code = 204 - group resource deleted');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '12344';\n$uri = 'https://api.lox24.eu/groups/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\nif(204 === $code) {\n    echo \"Group with id = {$id} was deleted!\";\n} elseif(404 === $code) {\n    echo \"Group with id = {$id} not found!\";\n} else {\n    $data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n    echo \"Group: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"12344\"\n\nurl = f'https://api.lox24.eu/groups/{id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 204: # No Content\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - group was deleted')\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/groups/{id}/file/csv": {
            "get": {
                "operationId": "group_export_to_file",
                "tags": [
                    "phones"
                ],
                "responses": {
                    "200": {
                        "description": "Exportar tel\u00e9fonos del grupo como archivo CSV",
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.groups-group_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Exportar CSV de los Tel\u00e9fonos",
                "description": "##### Ejemplo de CSV\n\n|id|Tel\u00e9fono |col_A|col_B|col_C|col_D|col_E|callback_data|\n|---|---|---|---|---|---|---|---|\n|7848412|+49123456780|Nombre|Segundo nombre|Foo|Bar|Zoo|12345|\n|7848413|+49123456781|Nombre|Segundo nombre|Foo|Bar|Zoo|12346|\n|7848414|+49123456782|Nombre|Segundo nombre|Foo|Bar|Zoo|12347|\n|7848415|+49123456783|Nombre|Segundo nombre|Foo|Bar|Zoo|12348|\n\nLos nombres de las columnas corresponder\u00e1n a los valores de los campos `nombre_X` del objeto `/group` correspondiente. \nSi falta el valor por defecto es `col_X`, donde X = (a, b, c, d, e).",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.groups.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/groups/7116/file/csv  \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class phones\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"12344\";\n\n            string url = \"https://api.lox24.eu/groups/\" + id + \"/file/csv\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"text/csv\";\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"phones resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\turl := \"https://api.lox24.eu/groups/7116/file/csv\"\n\tmethod := \"GET\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(method, url, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.phones;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GroupExportToFilePhonesItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"7116\";\n\n        var url = \"https://api.lox24.eu/groups/\" + id + \"/file/csv\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"text/csv\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"Import phones items as CSV file\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on import phone items as CSV file\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups/12344/file/csv',\n    method: 'GET',\n    headers: {\n        'Accept': 'text/csv',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - phones list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/groups/12344/file/csv';\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: text/csv', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . $data;\n} else {\n    echo \"Error: code = {$code}, data = \" . $data;\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\ngroup_id = \"7116\"\n\nurl = f'https://api.lox24.eu/groups/{group_id}/file/csv'\n\n\nheaders = {\n    'Accept': 'text/csv',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - Import phone items as CSV file')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/groups/{id}/phones": {
            "get": {
                "operationId": "api_phones_get_collection",
                "tags": [
                    "phones"
                ],
                "responses": {
                    "200": {
                        "description": "groups resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "properties": {
                                        "hydra:member": {
                                            "items": {
                                                "$ref": "#/components/schemas/schema.phones.jsonld-phone_read"
                                            }
                                        }
                                    }
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.phones-phone_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la colecci\u00f3n de Tel\u00e9fonos por ID de Grupo",
                "description": "Recupera la colecci\u00f3n de Tel\u00e9fonos por ID de Grupo",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.groups.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/groups/7116/phones  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class phones\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string id = \"12344\"\n            string url = \"https://api.lox24.eu/groups/12344/phones\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"phones collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\turl := \"https://api.lox24.eu/groups/7116/phones\"\n\tmethod := \"GET\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(method, url, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.phones;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetGroupPhonesGroupsItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"7116\";\n\n        var url = \"https://api.lox24.eu/groups/\" + id + \"/phones\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"phones resource response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on get group's items\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups/12344/phones',\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - phones list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/groups/12344/phones';\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\ngroup_id = \"7116\"\n\nurl = f'https://api.lox24.eu/groups/{group_id}/phones'\n\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - get group phones response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_phones_post_collection",
                "tags": [
                    "phones"
                ],
                "responses": {
                    "201": {
                        "description": "phones resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones.jsonld-phone_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones-phone_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Crear un Tel\u00e9fono",
                "description": "Crear una entrada con un n\u00famero de tel\u00e9fono.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.groups.id"
                    }
                ],
                "requestBody": {
                    "description": "The new phones resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.phones-phone_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/groups/12344/phones \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"phone\": \"+93701234567\",\n      \"a\": \"Mr. \",\n      \"b\": \"Smith \",\n      \"c\": \"2020-02-23 18:00\",\n      \"d\": \"12.34\",\n      \"e\": \"restaurant Blue Oyster\"\n}'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class phones\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/groups/12344/phones\";\n\n            var data = new {\n                phone = \"+93701234567\",\n                a = \"Mr. \",\n                b = \"Smith\",\n                c = \"2020-02-23 18:00\",\n                d = \"12.34\",\n                e = \"restaurant Blue Oyster\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"phone resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create phone\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\turl := \"https://api.lox24.eu/groups/7116/phones\"\n\tmethod := \"POST\"\n\n\tpayload := map[string]string{\n\t\t\"phone\": \"+93701234567\",\n\t\t\"a\":     \"Mr. \",\n\t\t\"b\":     \"Smith \",\n\t\t\"c\":     \"2020-02-23 18:00\",\n\t\t\"d\":     \"12.34\",\n\t\t\"e\":     \"restaurant Blue Oyster\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(method, url, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\")\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println(string(body))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.phones;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostPhonesCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"12344\";\n\n        var url = \"https://api.lox24.eu/groups/\" + id + \"/phones\";\n\n        var json = new JSONObject();\n        json.put(\"phone\", \"+93701234567\");\n        json.put(\"a\", \"Mr. \");\n        json.put(\"b\", \"Smith \");\n        json.put(\"c\", \"2020-02-23 18:00\");\n        json.put(\"d\", \"12.34\");\n        json.put(\"e\", \"restaurant Blue Oyster\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"phones resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create phone\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    phone: '+93701234567',\n    a: 'Mr. ',\n    b: 'Smith',\n    c: '2020-02-23 18:00',\n    d: '12.34',\n    e: 'restaurant Blue Oyster'\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - phone resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/groups/12344/phones';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'phone' => '+93701234567',\n    'a' => 'Mr. ',\n    'b' => 'Smith ',\n    'c' => '2020-02-23 18 =>00',\n    'd' => '12.34',\n    'e' => 'restaurant Blue Oyster',\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\ngroup_id = \"12344\"\n\nurl = f'https://api.lox24.eu/groups/{group_id}/phones'\n\n\ndata = {\n    \"phone\": \"+93701234567\",\n    \"a\": \"Mr. \",\n    \"b\": \"Smith \",\n    \"c\": \"2020-02-23 18:00\",\n    \"d\": \"12.34\",\n    \"e\": \"restaurant Blue Oyster\",\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - phones resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/groups/{id}/phones/batch": {
            "post": {
                "operationId": "phone_batch_post",
                "tags": [
                    "phones"
                ],
                "responses": {
                    "201": {
                        "description": "groups resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones.jsonld-batch-read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones-batch-read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Crear Tel\u00e9fonos por lote",
                "description": "En lugar de enviar m\u00faltiples solicitudes, es mejor enviar una sola solicitud con una lista de objetos de Tel\u00e9fono como cuerpo de la solicitud.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.groups.id"
                    }
                ],
                "requestBody": {
                    "description": "The new groups resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.phones-batch-write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class phones\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/groups/12344/phones/batch\";\n\n            var data = new[] {\n               new {\n                   phone = \"+93701234567\",\n                   a = \"Mr. \",\n                   b = \"Smith\"\n               },\n               new {\n                  phone = \"+93701234568\",\n                  a = \"Ms. \",\n                  b = \"Smith\"\n               }\n            }\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"phone resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create phone\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\turl := \"https://api.lox24.eu/groups/7116/phones/batch\"\n\tmethod := \"POST\"\n\n\tpayload := []map[string]string{\n\t\t{\n\t\t\t\"phone\": \"+93701234567\",\n\t\t\t\"a\":     \"Mr. \",\n\t\t\t\"b\":     \"Smith \",\n\t\t\t\"c\":     \"2020-02-23 18:00\",\n\t\t\t\"d\":     \"12.34\",\n\t\t\t\"e\":     \"restaurant Blue Oyster\",\n\t\t},\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(method, url, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\")\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println(string(body))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.phones;\n\nimport org.json.JSONArray;\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PhoneBatchPostGroupsItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"7116\";\n\n        var url = \"https://api.lox24.eu/groups/\" + id + \"/phones/batch\";\n\n        var jsonArray = new JSONArray();\n        var validPhoneNumber = new JSONObject();\n        validPhoneNumber.put(\"phone\", \"+4912345678\");\n        validPhoneNumber.put(\"a\", \"column A text\");\n\n        var invalidPhoneNumber = new JSONObject();\n        invalidPhoneNumber.put(\"a\", \"column A text #2\");\n\n        jsonArray.put(validPhoneNumber);\n        jsonArray.put(invalidPhoneNumber);\n\n        var postData = jsonArray.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"phones resource created by the batch\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on phones resource by the batch\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = [{\n    phone: '+93701234567',\n    a: 'Mr. ',\n    b: 'Smith',\n}, {\n    a: \"wrong phone resource\"\n}];\n\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/groups/12344/phone/batch',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - phone resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/groups/12344/phones/batch';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    [\n        'phone' => '+93701234567',\n        'a' => 'Mr. ',\n        'b' => 'Smith ',\n        'c' => '2020-02-23 18 =>00',\n        'd' => '12.34',\n        'e' => 'restaurant Blue Oyster',\n    ],\n    [\n        'a' => 'Invalid phone object',\n    ]\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\ngroup_id = \"7116\"\n\nurl = f'https://api.lox24.eu/groups/{group_id}/phones/batch'\n\n\ndata = [\n    {\n    \"phone\": \"+4912345678\",\n    \"a\": \"column A text\"\n    },\n    {\n    \"a\": \"column A text #2\"\n    }\n]\n\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201:  # Created\n        res.raise_for_status()\n    else:\n        print(\n            f'Success: code = {res.status_code} - phones resource created by the batch')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/incomings": {
            "get": {
                "operationId": "api_incomings_get_collection",
                "tags": [
                    "incomings"
                ],
                "responses": {
                    "200": {
                        "description": "incomings collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.incomings.jsonld-incoming_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "$ref": "#/components/schemas/hydra.totalItems"
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.incomings-incoming_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la colecci\u00f3n de SMS entrantes",
                "description": "Obtener la lista de SMS entrantes ordenados por el campo `received_at` en orden descendente. El buz\u00f3n contiene todos los SMS enviados, no enviados y terminados. Para las respuestas SMS la propiedad `msg_uuid` rellenada por la entidad /sms correspondiente.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.incomings.received_at"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.text.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.incomings.from"
                    },
                    {
                        "$ref": "#/components/parameters/filter.incomings.to"
                    },
                    {
                        "$ref": "#/components/parameters/filter.incomings.msg_uuid"
                    },
                    {
                        "$ref": "#/components/parameters/filter.incomings.msg_uuid.array"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/incomings \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/incomings?text=Test&msg_uuid[]=8481900d-86ce-11ea-aa81-96000028b339&msg_uuid[]=d5ceb189-86cd-11ea-aa81-96000028b339&page=1&_order[created_at]=desc\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"Incoming SMS collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/incomings\"\n\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.incomings;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetIncomingsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/incomings?text=Test&msg_uuid[]=8481900d-86ce-11ea-aa81-96000028b339&msg_uuid[]=d5ceb189-86cd-11ea-aa81-96000028b339&page=1&_order[created_at]=desc\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"incomings collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"text=Test&msg_uuid[]=8481900d-86ce-11ea-aa81-96000028b339&msg_uuid[]=d5ceb189-86cd-11ea-aa81-96000028b339&page=1&_order[created_at]=desc\";\n\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/incomings?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - incoming messages collection response');\n        res.on('data', d => {process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    }  else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/incomings';\n\n$filters = [\n    'text' => 'Test',\n    'msg_uuid' => [\n        '8481900d-86ce-11ea-aa81-96000028b339',\n        'd5ceb189-86cd-11ea-aa81-96000028b339',\n    ],\n    'page' => 1,\n    '_order' => [\n        'received_at' => 'desc'\n    ],\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\necho $uri;\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/incomings?text=Test&msg_uuid[]=8481900d-86ce-11ea-aa81-96000028b339&msg_uuid[]=d5ceb189-86cd-11ea-aa81-96000028b339&page=1&_order[created_at]=desc\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - incomings collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/incomings/{uuid}": {
            "get": {
                "operationId": "api_incomings_get_item",
                "deprecated": false,
                "tags": [
                    "incomings"
                ],
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/incomings/20f39273-0566-11ea-a637-96000028b339 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n            string url = \"https://api.lox24.eu/incomings/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"Incoming SMS resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/incomings/85c2b099-9d84-11ea-b2e9-b8ca3a65338c\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.incomings;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetIncomingsItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n        var url = \"https://api.lox24.eu/incomings/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"incomings resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error:\" + httpResponse.statusCode());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "//const host = 'api.lox24.eu';\n//const clientid = \"1234567\";\n//const token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\nconst host = 'api2-test.lox24.eu';\nconst token = \"21911_4f8432430c640ee96c9f8a3eb880d477\";\n\nvar id = '8481900d-86ce-11ea-aa81-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/incomings/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - incoming message resource response');\n        res.on('data', d => { process.stdout.write(d)})\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/incomings/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Incoming SMS with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nincoming_id = \"343c785b-8567-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/incomings/{incoming_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - incoming sms resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "incomings resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.incomings.jsonld-incoming_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.incomings-incoming_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la entrada de SMS entrantes",
                "description": "Obtenci\u00f3n de la entrada de SMS entrantes. El buz\u00f3n contiene todos los SMS enviados, no enviados y terminados. Para las respuestas SMS, la propiedad 'msg_uuid' se rellena mediante la entidad /sms correspondiente.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.incomings.id"
                    }
                ]
            },
            "delete": {
                "operationId": "api_incomings_delete_item",
                "deprecated": false,
                "tags": [
                    "incomings"
                ],
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/incomings/20f39273-0566-11ea-a637-96000028b339 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n            string url = \"https://api.lox24.eu/incomings/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"DELETE\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"Incoming SMS resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"DELETE\"\n\tconst URL = \"https://api.lox24.eu/incomings/85c2b099-9d84-11ea-b2e9-b8ca3a65338c\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.incomings;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetIncomingsItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n        var url = \"https://api.lox24.eu/incomings/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"incomings resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error:\" + httpResponse.statusCode());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "//const host = 'api.lox24.eu';\n//const clientid = \"1234567\";\n//const token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\nconst host = 'api2-test.lox24.eu';\nconst token = \"21911_4f8432430c640ee96c9f8a3eb880d477\";\n\nvar id = '8481900d-86ce-11ea-aa81-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/incomings/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - incoming message resource response');\n        res.on('data', d => { process.stdout.write(d)})\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/incomings/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Incoming SMS with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nincoming_id = \"343c785b-8567-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/incomings/{incoming_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - incoming sms resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ],
                "responses": {
                    "204": {
                        "$ref": "#/components/responses/204-deleted"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Borrar la entrada de SMS entrantes",
                "description": "Borrar un SMS entrante por UUID",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.incomings.id"
                    }
                ]
            }
        },
        "/phones/{id}": {
            "get": {
                "operationId": "api_phones_get_item",
                "tags": [
                    "phones"
                ],
                "responses": {
                    "200": {
                        "description": "phones resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones.jsonld-phone_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones-phone_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la entrada de Tel\u00e9fono",
                "description": "Consultar una entrada con un n\u00famero de tel\u00e9fono.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.phones.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/phones/12344  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class phones\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"12344\";\n\n            string url = \"https://api.lox24.eu/phones/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"phones resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\turl := \"https://api.lox24.eu/phones/12344\"\n\tmethod := \"GET\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(method, url, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.phones;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetPhonesItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"12344\";\n\n        var url = \"https://api.lox24.eu/phones/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"phones resource response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on get phones item\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '12344';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/phones/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '12344';\n$uri = 'https://api.lox24.eu/phones/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Group with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nphone_id = \"12344\"\n\nurl = f'https://api.lox24.eu/phones/{phone_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - phones resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            },
            "put": {
                "operationId": "api_phones_put_item",
                "tags": [
                    "phones"
                ],
                "responses": {
                    "200": {
                        "description": "phones resource updated",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones.jsonld-phone_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.phones-phone_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Editar la entrada de Tel\u00e9fono",
                "description": "Editar una entrada con un n\u00famero de tel\u00e9fono.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.phones.id"
                    }
                ],
                "requestBody": {
                    "description": "The updated phones resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.phones-phone_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X PUT https://api.lox24.eu/phones/12344 \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"phone\": \"+93701234567\",\n      \"a\": \"Mr. \",\n      \"b\": \"Smith \",\n      \"c\": \"2020-02-23 18:00\",\n      \"d\": \"12.34\",\n      \"e\": \"restaurant Blue Oyster\"\n}'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/phones/12344\";\n\n\n            var data = new {\n                phone = \"+93701234599\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"phone resource updated\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on update phone\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\turl := \"https://api.lox24.eu/phones/12344\"\n\tmethod := \"PUT\"\n\n\tpayload := map[string]string{\n\t\t\"phone\": \"+93701234567\",\n\t\t\"a\":     \"Mr. \",\n\t\t\"b\":     \"Smith \",\n\t\t\"c\":     \"2020-02-23 18:00\",\n\t\t\"d\":     \"12.34\",\n\t\t\"e\":     \"restaurant Blue Oyster\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(method, url, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\")\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.phones;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PutPhonesItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"12344\";\n        var url = \"https://api.lox24.eu/phones/\" + id;\n\n        var json = new JSONObject();\n        json.put(\"phone\", \"+93701234567\");\n        json.put(\"a\", \"Mr. \");\n        json.put(\"b\", \"Smith \");\n        json.put(\"c\", \"2020-02-23 18:00\");\n        json.put(\"d\", \"12.34\");\n        json.put(\"e\", \"restaurant Blue Oyster\");\n\n\n        var putData = json.toString();\n\n        System.out.println(\"Put data: \" + putData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .PUT(HttpRequest.BodyPublishers.ofString(putData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"phones resource updated\");\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on update phone\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    phone: '+93701234567',\n    a: 'Mr. ',\n    b: 'Smith',\n    c: '2020-02-23 18:00',\n    d: '12.34',\n    e: 'restaurant Blue Oyster'\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/phones/1234',\n    method: 'PUT',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 200 - phone resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/phones/12344';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'phone' => '+93701234567',\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_CUSTOMREQUEST => 'PUT',\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nphone_id = \"12344\"\n\nurl = f'https://api.lox24.eu/phones/{phone_id}'\n\ndata = {\n    \"phone\": \"+93701234567\",\n    \"a\": \"Mr. \",\n    \"b\": \"Smith \",\n    \"c\": \"2020-02-23 18:00\",\n    \"d\": \"12.34\",\n    \"e\": \"restaurant Blue Oyster\",\n}\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.put(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - phones resource updated')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            },
            "delete": {
                "operationId": "api_phones_delete_item",
                "tags": [
                    "phones"
                ],
                "responses": {
                    "204": {
                        "$ref": "#/components/responses/204-deleted"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Eliminar la entrada de Tel\u00e9fono",
                "description": "Eliminar una entrada con un n\u00famero de tel\u00e9fono.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.phones.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/phones/12344  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class phones\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"12344\";\n            string url = \"https://api.lox24.eu/phones/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"DELETE\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    if(resp.StatusCode == HttpStatusCode.NoContent) { //204\n                        Console.WriteLine(\"Success: phone was deleted\");\n                    } else {\n                        Console.WriteLine(\"Error: something went wrong, code({0})\", respCode);\n                        Stream respStream = resp.GetResponseStream();\n                        using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                        {\n                            string responseText = sr.ReadToEnd();\n\n                            JObject parsed = JObject.Parse(responseText);\n\n                            foreach (var pair in parsed)\n                            {\n                                Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n                            }\n                        }\n                    }\n\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\turl := \"https://api.lox24.eu/phones/12344\"\n\tmethod := \"DELETE\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(method, url, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tswitch res.StatusCode {\n\tcase 204:\n\t\tfmt.Println(\"Success: code = 204 - phones resource deleted\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.phones;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class DeletePhonesItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n        var id = \"12344\";\n        var url = \"https://api.lox24.eu/phones/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_NO_CONTENT) {\n                System.out.println(\"Success: phone was deleted\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: something went wrong \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '12344';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/phones/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 204) {\n        console.log('Success: code = 204 - phones resource deleted');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '12344';\n$uri = 'https://api.lox24.eu/phones/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\nif(204 === $code) {\n    echo \"Phone with id = {$id} was deleted!\";\n} elseif(404 === $code) {\n    echo \"Phone with id = {$id} not found!\";\n} else {\n    $data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n    echo \"Phone: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nid = \"12344\"\n\nurl = f'https://api.lox24.eu/phones/{id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 204: # No Content\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - phones resource was deleted')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_campaigns": {
            "get": {
                "operationId": "api_short_link_campaigns_get_collection",
                "tags": [
                    "campaigns"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_campaigns collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_link_campaigns.jsonld-short_link_campaign_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List of all Short Link Campaigns",
                "description": "Retrieve the list of all existing Short Link Campaigns ordered by the field `created_at` in descending order.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.common.created_at"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link.name.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.url.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.array"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/short_link_campaigns \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/short_link_campaigns?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.short_links;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetShortLinkCampaignCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_link_campaigns?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/short_link_campaigns';\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/short_link_campaigns?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_short_link_campaigns_post_collection",
                "tags": [
                    "campaigns"
                ],
                "responses": {
                    "201": {
                        "description": "short_link_campaigns resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns.jsonld-short_link_campaign_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Create a Short Link Campaign",
                "description": "Create a new Short Link Campaign entity with destination url, type and name",
                "parameters": [],
                "requestBody": {
                    "description": "The new short_link_campaigns resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/short_link_campaigns \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"type\": 2,\n      \"name\": \"test #2\",\n      \"url\": \"https://some-destination-endpoint.here\"\n  }'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/short_link_campaigns\";\n\n            var data = new {\n                type = 2,\n                name = \"test #2\",\n                url = \"https://some-destination-endpoint.here\",\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"item resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create item\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"type\": 2,\n\t\t\"name\": \"test #2\",\n\t\t\"url\": \"https://some-destination-endpoint.here\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.short_links;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class AddShortLinkCampaignItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_link_campaigns\";\n\n        var json = new JSONObject();\n\n        json.put(\"type\", 2);\n        json.put(\"name\", \"test #2\");\n        json.put(\"url\", \"https://some-destination-endpoint.here\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create item\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    type: 2,\n    name: \"test #2\",\n    url: \"https://some-destination-endpoint.here\"\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/short_link_campaigns';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    \"type\" => 2,\n    \"name\" => \"test #2\",\n    \"url\" => \"https://some-destination-endpoint.here\",\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/short_link_campaigns'\n\n\ndata = {\n   'type': 2,\n   'name': 'test #2',\n   'url': 'https://some-destination-endpoint.here'\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create campaign\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_campaigns/subscribe": {
            "post": {
                "operationId": "post_subscribe",
                "tags": [
                    "campaigns"
                ],
                "responses": {
                    "201": {
                        "description": "short_link_campaigns resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns.jsonld-short_link_campaign_subscribe_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_subscribe_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Create a subscription form campaign",
                "description": "Crea una campa\u00f1a de enlaces cortos que proporciona una URL a un formulario de suscripci\u00f3n donde los usuarios pueden suscribirse a campa\u00f1as. El n\u00famero de tel\u00e9fono del usuario se a\u00f1adir\u00e1 a un grupo definido por el usuario que especifique durante la creaci\u00f3n de la campa\u00f1a.",
                "parameters": [],
                "requestBody": {
                    "description": "The new short_link_campaigns resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_subscribe_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/short_link_campaigns/subscription \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"name\": \"test #2\",\n      \"group_id\": 12345\n  }'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/short_link_campaigns/subscription\";\n\n            var data = new {\n                name = \"test #2\",\n                group_id = 12345,\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"item resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create item\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns/subscription\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"name\": \"test #2\",\n\t\t\"group_id\": 12345\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.short_links;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class AddShortLinkCampaignItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_link_campaigns/subscription\";\n\n        var json = new JSONObject();\n\n        json.put(\"name\", \"test #2\");\n        json.put(\"group_id\", 12345);\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create item\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    group_id: 12345,\n    name: \"test #2\"\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns/subscription',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/short_link_campaigns/subscription';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    \"group_id\" => 12345,\n    \"name\" => \"test #2\",\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/short_link_campaigns/subscription'\n\n\ndata = {\n   'group_id': 2,\n   'name': 'test #2',\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create campaign\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_campaigns/unsubscribe": {
            "post": {
                "operationId": "post_unsubscribe",
                "tags": [
                    "campaigns"
                ],
                "responses": {
                    "201": {
                        "description": "short_link_campaigns resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns.jsonld-short_link_campaign_subscribe_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_subscribe_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Create a unsubscription form campaign",
                "description": "Crea una campa\u00f1a de enlaces cortos que redirige a los usuarios a un formulario especial de cancelaci\u00f3n de suscripci\u00f3n donde pueden darse de baja de las notificaciones SMS y opcionalmente proporcionar una raz\u00f3n. Puede especificar opcionalmente un grupo de tel\u00e9fonos donde se recopilar\u00e1n los datos. Incluso sin especificar un grupo, el n\u00famero de tel\u00e9fono se a\u00f1adir\u00e1 a la lista de n\u00fameros bloqueados con tipo 2 (dado de baja).",
                "parameters": [],
                "requestBody": {
                    "description": "The new short_link_campaigns resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_subscribe_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/short_link_campaigns/unsubscription \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"name\": \"test #2\",\n      \"group_id\": 12345\n  }'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/short_link_campaigns/unsubscription\";\n\n            var data = new {\n                name = \"test #2\",\n                group_id = 12345,\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"item resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create item\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns/unsubscription\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"name\": \"test #2\",\n\t\t\"group_id\": 12345\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.short_links;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class AddShortLinkCampaignItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_link_campaigns/unsubscription\";\n\n        var json = new JSONObject();\n\n        json.put(\"name\", \"test #2\");\n        json.put(\"group_id\", 12345);\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create item\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    group_id: 12345,\n    name: \"test #2\"\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns/unsubscription',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/short_link_campaigns/unsubscription';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    \"group_id\" => 12345,\n    \"name\" => \"test #2\",\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/short_link_campaigns/unsubscription'\n\n\ndata = {\n   'group_id': 2,\n   'name': 'test #2',\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create campaign\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_campaigns/{code}": {
            "get": {
                "operationId": "api_short_link_campaigns_get_item",
                "tags": [
                    "campaigns"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_campaigns resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns.jsonld-short_link_campaign_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Get Short Link data by Campaign-ID",
                "description": "Retrieve a specific Short Link Campaign by it's ID. If the Campaign is not found then the HTTP code response will be 404.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_link_campaigns.code"
                    }
                ],
                "deprecated": false
            },
            "put": {
                "operationId": "api_short_link_campaigns_put_item",
                "tags": [
                    "campaigns"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_campaigns resource updated",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns.jsonld-short_link_campaign_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Edit a Short Link Campaign",
                "description": "Edit the values of a specific Short Link Campaigns. If the Campaign is not found then the HTTP code response will be 404.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_link_campaigns.code"
                    }
                ],
                "requestBody": {
                    "description": "The updated short_link_campaigns resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.short_link_campaigns-short_link_campaign_write"
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X PUT https://api.lox24.eu/short_link_campaigns/campaign_id_here \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"type\": 2,\n      \"name\": \"test #2\",\n      \"url\": \"https://some-destination-endpoint.here\"\n  }'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/short_link_campaigns/campaign_id_here\";\n\n            var data = new {\n                name = \"test #2\",\n                url = \"https://some-destination-endpoint.here\",\n            };\n\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"item resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create item\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"PUT\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns/campaign_id_here\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"name\": \"test #2\",\n\t\t\"url\": \"https://some-destination-endpoint.here\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.short_links;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class EditShortLinkCampaignItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_link_campaigns/campaign_id_here\";\n\n        var json = new JSONObject();\n        json.put(\"type\", 2);\n        json.put(\"name\", \"test #2\");\n        json.put(\"url\", \"https://some-destination-endpoint.here\");\n\n        var data = json.toString();\n\n        System.out.println(\"PUT data: \" + data);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .PUT(HttpRequest.BodyPublishers.ofString(data))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success: \" + httpResponse.statusCode() + \" resource updated\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on update a campaign\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = 'campaign_id_here';\n\nvar postObj = {\n    name: \"test #2\",\n    url: \"https://some-destination-endpoint.here\"\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns/' + id,\n    method: 'PUT',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 201 - resource updated\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode);\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/short_link_campaigns/campaign_id_here';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    \"name\" => \"test #2\",\n    \"url\" => \"https://some-destination-endpoint.here\",\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_CUSTOMREQUEST => 'PUT',\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"short_link_campaigns\"\n\nurl = f'https://api.lox24.eu/short_link_campaigns/{id}'\n\n\ndata = {\n   'name': 'test #2',\n   'url': 'https://some-destination-endpoint.here'\n}\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.put(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 200: # OK\n        print(\"Error: Wrong response code on update campaign\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - campaign updated')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            },
            "delete": {
                "operationId": "api_short_link_campaigns_delete_item",
                "tags": [
                    "campaigns"
                ],
                "responses": {
                    "204": {
                        "$ref": "#/components/responses/204-deleted"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Delete a Short Link Campaign",
                "description": "Delete a Short Link Campaign. If the Campaign is not found then the HTTP code response will be 404.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_link_campaigns.code"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/short_link_campaigns/campaign_id_here  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"campaign_id_here\";\n            string url = \"https://api.lox24.eu/short_link_campaigns/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"DELETE\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    if(resp.StatusCode == HttpStatusCode.NoContent) { //204\n                        Console.WriteLine(\"Success: item was deleted\");\n                    } else {\n                        Console.WriteLine(\"Error: something went wrong, code({0})\", respCode);\n                        Stream respStream = resp.GetResponseStream();\n                        using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                        {\n                            string responseText = sr.ReadToEnd();\n\n                            JObject parsed = JObject.Parse(responseText);\n\n                            foreach (var pair in parsed)\n                            {\n                                Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n                            }\n                        }\n                    }\n\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"DELETE\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns/campaign_id_here\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tswitch res.StatusCode {\n\tcase 204:\n\t\tfmt.Println(\"Item was deleted!\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.short_links;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class DeleteShortLinkCampaignItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var userId = \"1234567\";\n\n        var id = \"campaign_id_here\";\n        var url = \"https://api.lox24.eu/short_link_campaigns/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_NO_CONTENT) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"item was delete.\");\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = 'campaign_id_here';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 204) {\n        console.log('Success: code = 204 - resource deleted');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = 'campaign_id_here';\n$uri = 'https://api.lox24.eu/short_link_campaigns/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\nif(204 === $code) {\n    echo \"Item with id = $id was deleted!\";\n} elseif(404 === $code) {\n    echo \"Item with id = $id not found!\";\n} else {\n    $data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n    echo \"Campaign: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"campaign_id_here\"\n\nurl = f'https://api.lox24.eu/short_link_campaigns/{id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 204: # No Content\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - item was deleted')\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/bulks/{id}/requests": {
            "get": {
                "operationId": "get_bulk_requests",
                "tags": [
                    "requests"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_requests collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_link_requests.jsonld-short_link_request_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_link_requests-short_link_request_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List by a bulk sms ID",
                "description": "List of all requests by a SMS Bulk ID",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.bulks.id"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.short_link_request.date"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.url.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.user_agent.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.referer.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.browser.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os_version.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.software_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.hardware_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.between"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gte"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lte"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/bulks/{bulk_id_here}/requests \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string bulk = \"bulk_id_here\";\n            string url = \"https://api.lox24.eu/bulks/\" + bulk + \"/requests?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/bulks/{bulk_id_here}/requests?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/bulks/{bulk_id_here}/requests?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/bulks/{bulk_id_here}/requests?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n$bulkId = 'bulk_id';\n\n$uri = \"https://api.lox24.eu/bulks/$bulkId/requests\";\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nbulkId = \"bulk_id\"\n\nurl = \"https://api.lox24.eu/bulks/{bulk_id}/requests?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_campaigns/{code}/requests": {
            "get": {
                "operationId": "get_campaign_requests",
                "tags": [
                    "requests"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_requests collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_link_requests.jsonld-short_link_request_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_link_requests-short_link_request_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List requests by campaign",
                "description": "Lists all clicks on shortlinks for a specific campaign",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_link_campaigns.code"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.short_link_request.date"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.url.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.user_agent.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.referer.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.browser.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os_version.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.software_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.hardware_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.between"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gte"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lte"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu//short_link_campaigns/{campaign_id}/requests \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string campaign = \"campaign_id_here\";\n            string url = \"https://api.lox24.eu/short_link_campaigns/\" + campaign + \"/requests?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns/{campaign_id_here}/requests?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_link_campaigns/{campaign_id_here}/requests?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns/{campaign_id_here}/requests?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n$campaignId = 'campaign_id';\n\n$uri = \"https://api.lox24.eu/short_link_campaigns/$campaignId/requests\";\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\ncampaignId = \"campaign_id\"\n\nurl = \"https://api.lox24.eu/short_link_campaigns/{campaignId}/requests?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_requests": {
            "get": {
                "operationId": "api_short_link_requests_get_collection",
                "tags": [
                    "requests"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_requests collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_link_requests.jsonld-short_link_request_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_link_requests-short_link_request_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List all requests",
                "description": "Lists all clicks on shortlinks",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.short_link_request.date"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.url.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.user_agent.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.referer.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.browser.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.browser_version.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os_version.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.software_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.hardware_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.between"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gte"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lte"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/short_link_requests \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/short_link_requests?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_link_requests?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_link_requests?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_requests?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/short_link_requests';\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/short_link_requests?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_requests/{id}": {
            "get": {
                "operationId": "api_short_link_requests_get_item",
                "tags": [
                    "requests"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_requests resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_requests.jsonld-short_link_request_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_link_requests-short_link_request_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Request info",
                "description": "Retrieve the detail information about a short link click",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_link_requests.id"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/short_link_requests/request_id_here  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string id = \"request_id_here\";\n\n            string url = \"https://api.lox24.eu/short_link_requests/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"item resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_link_requests/request_id_here\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var userId = \"1234567\";\n        var id = \"request_id_here\";\n\n        var url = \"https://api.lox24.eu/short_link_requests\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = 'request_id_here';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_requests/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = 'request_id_here';\n$uri = 'https://api.lox24.eu/short_link_requests/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Item with id = $id not found!\";\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"request_id\"\n\nurl = f'https://api.lox24.eu/short_link_requests/{id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_links/{shortCode}/requests": {
            "get": {
                "operationId": "get_short_links_requests",
                "tags": [
                    "requests"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_requests collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_link_requests.jsonld-short_link_request_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_link_requests-short_link_request_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List by a short link",
                "description": "List of all requests by a short link campaign code",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_links.shortCode"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.short_link_request.date"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.url.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.user_agent.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.referer.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.browser.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.browser_version.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os_version.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.software_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.hardware_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.between"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gte"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lte"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/short_links/{short_link_id}/requests \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string link = \"short_link_id\";\n            string url = \"https://api.lox24.eu/short_links/\" + link + \"/requests?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_links/{short_link_id_here}/requests?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_links/{short_link_id_here}/requests?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_links/{short_link_id_here}/requests?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n$linkId = 'campaign_id';\n\n$uri = \"https://api.lox24.eu/short_links/$linkId/requests\";\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nlinkId = \"short_link_id\"\n\nurl = \"https://api.lox24.eu/short_links/{linkId}/requests?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/sms/{uuid}/requests": {
            "get": {
                "operationId": "get_sms_requests",
                "tags": [
                    "requests"
                ],
                "responses": {
                    "200": {
                        "description": "short_link_requests collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_link_requests.jsonld-short_link_request_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_link_requests-short_link_request_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List by a SMS",
                "description": "List of all requests by a single SMS ID",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.sms.uuid"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.short_link_request.date"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.url.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.user_agent.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.country.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.referer.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.type.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.browser.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.os_version.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.software_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.hardware_type.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.between"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.gte"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lt"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.date.lte"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/sms/{sms_id}/requests \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\t\t\tstring sms = \"sms_id\";\n\t\t\tstring url = \"https://api.lox24.eu/sms/\" + sms + \"/requests?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/sms/{sms_id_here}/requests?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/sms/{sms_id_here}/requests?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/{sms_id_here}/requests?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n$smsId = 'sms_id';\n\n$uri = \"https://api.lox24.eu/sms/$smsId/requests\";\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nsmsId = \"sms_id\"\n\nurl = \"https://api.lox24.eu/sms/{smsId}/requests?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_links": {
            "get": {
                "operationId": "api_short_links_get_collection",
                "tags": [
                    "links"
                ],
                "responses": {
                    "200": {
                        "description": "short_links collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_links.jsonld-short_link_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_links-short_link_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List of all individual short links",
                "description": "List of all short links which were used in all existing campaigns.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.common.updated_at"
                    },
                    {
                        "$ref": "#/components/parameters/filter.short_link_request.url.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.updated_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.updated_at.array"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/short_links \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/short_links?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_links?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/short_links?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_links?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/short_links';\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/short_links?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_links/{shortCode}": {
            "get": {
                "operationId": "api_short_links_get_item",
                "deprecated": false,
                "responses": {
                    "200": {
                        "description": "short_links resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_links.jsonld-short_link_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.short_links-short_link_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Individual short link data by ID",
                "description": "Retrieve all the information about a specific short link.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_links.shortCode"
                    }
                ],
                "tags": [
                    "links"
                ],
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/short_links/short_link_id  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string id = \"short_link_id\";\n\n            string url = \"https://api.lox24.eu/short_links/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"item resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_links/short_link_id\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var userId = \"1234567\";\n        var id = \"short_link_id\";\n\n        var url = \"https://api.lox24.eu/short_links/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = 'short_link_id';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_links/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = 'short_link_id';\n$uri = 'https://api.lox24.eu/short_links/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Item with id = $id not found!\";\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"short_link_id\"\n\nurl = f'https://api.lox24.eu/short_links/{id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/sms": {
            "get": {
                "operationId": "api_sms_get_collection",
                "tags": [
                    "sms"
                ],
                "responses": {
                    "200": {
                        "description": "sms collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.sms.jsonld-sms_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "$ref": "#/components/schemas/hydra.totalItems"
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.sms-sms_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la colecci\u00f3n de SMS",
                "description": "Obtener la lista de mensajes del buz\u00f3n, ordenados por el campo `created_at` en orden descendente. El buz\u00f3n contiene todos los SMS enviados, no enviados y terminados. Tambi\u00e9n puede ordenar opcionalmente seg\u00fan el precio o la hora de transmisi\u00f3n al operador de red. Tambi\u00e9n tiene la opci\u00f3n de transferir diferentes criterios de b\u00fasqueda para limitar la salida de los mensajes del buz\u00f3n.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.common.page"
                    },
                    {
                        "$ref": "#/components/parameters/order.common.created_at"
                    },
                    {
                        "$ref": "#/components/parameters/order.messages.gateway_sent_at"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_sent.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_unicode.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.iso2.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.iso2.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.dlr_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.dlr_code.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.status_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.status_code.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.gateway_sent_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.gateway_sent_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.chars_count.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.chars_count.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.parts_count.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.parts_count.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.bulk.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.bulk.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.text.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.phone.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.sender_id.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.callback_data.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.callback_data.array"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/sms \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/sms\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"bulks collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/sms?created_at[gte]=1590737094\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetSmsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/sms?created_at[gte]=1590737094\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder().build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"bulks collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error:\" + httpResponse.statusCode());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"uuid[]=44657141-9830-11ea-aa81-96000028b339&uuid[]=5dd2ba0e-9830-11ea-aa81-96000028b339&_order[created_at]=desc\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - sms resource response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/sms';\n\n$filters = [\n    'text' => 'Test',\n    'uuid' => [\n        '8481900d-86ce-11ea-aa81-96000028b339',\n        'd5ceb189-86cd-11ea-aa81-96000028b339',\n    ],\n    'page' => 1,\n    '_order' => [\n        'created_at' => 'asc'\n    ],\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/sms?created_at[gte]=1590737094'\n\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - sms collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_sms_post_collection",
                "tags": [
                    "sms"
                ],
                "responses": {
                    "201": {
                        "description": "sms resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms.jsonld-sms_read"
                                },
                                "examples": {
                                    "example_sms_response_basic_sms": {
                                        "$ref": "#/components/examples/example_sms_response_basic_sms_jsonld"
                                    },
                                    "example_sms_response_jsonld_translit": {
                                        "$ref": "#/components/examples/example_sms_response_translit_jsonld"
                                    },
                                    "example_sms_response_jsonld_delete_text": {
                                        "$ref": "#/components/examples/example_sms_response_delete_text_jsonld"
                                    }
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms-sms_read"
                                },
                                "examples": {
                                    "example_sms_response_basic_sms": {
                                        "$ref": "#/components/examples/example_sms_response_basic_sms"
                                    },
                                    "example_sms_response_translit": {
                                        "$ref": "#/components/examples/example_sms_response_translit"
                                    },
                                    "example_sms_response_delete_text": {
                                        "$ref": "#/components/examples/example_sms_response_delete_text"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/402-not-enough-funds"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Eviar el SMS",
                "description": "Env\u00ede un mensaje corto enviando una solicitud POST que incluya todos los datos necesarios del mensaje como texto y sender-ID.",
                "parameters": [],
                "requestBody": {
                    "description": "The new sms resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.sms-write"
                            },
                            "examples": {
                                "example_sms_request_minimal": {
                                    "$ref": "#/components/examples/example_sms_request_minimal"
                                },
                                "example_sms_request_text2speech": {
                                    "$ref": "#/components/examples/example_sms_request_text2speech"
                                },
                                "example_sms_request_text2speech_ssml": {
                                    "$ref": "#/components/examples/example_sms_request_text2speech_ssml"
                                },
                                "example_sms_request_text2speech_single_call": {
                                    "$ref": "#/components/examples/example_sms_request_text2speech_single_call"
                                },
                                "example_sms_request_unicode": {
                                    "$ref": "#/components/examples/example_sms_request_unicode"
                                },
                                "example_sms_request_translit": {
                                    "$ref": "#/components/examples/example_sms_request_translit"
                                },
                                "example_sms_request_delete_text": {
                                    "$ref": "#/components/examples/example_sms_request_delete_text"
                                },
                                "example_sms_request_callback": {
                                    "$ref": "#/components/examples/example_sms_request_callback"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/sms \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n    \"sender_id\": \"My Sender\",\n    \"phone\": \"+49751234567\",\n    \"source\": 111,\n    \"service_code\": \"direct\",\n    \"text\": \"Test message\",\n    \"delivery_at\": 1573724611,\n    \"is_unicode\": true,\n    \"callback_data\": \"123456\",\n    \"voice_lang\": \"DE\"\n}'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/sms\";\n\n            var data = new {\n                sender_id = \"My Sender\",\n                text = \"Test message\",\n                service_code = \"direct\",\n                phone = \"+49751234567\",\n                delivery_at = 1573724611,\n                is_unicode = true,\n                callback_data = \"123456\",\n                voice_lang = \"DE\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"sms resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create sms\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.PaymentRequired: // 402\n                        Console.WriteLine(\"Error:402 There are not enough funds on your account!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/sms\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"sender_id\":    \"My Sender\",\n\t\t\"phone\":        \"+49751234567\",\n\t\t\"source\":       111,\n\t\t\"service_code\": \"direct\",\n\t\t\"text\":         \"Test message\",\n\t\t\"delivery_at\":  1593724611,\n\t\t\"is_unicode\":   true,\n\t\t\"callback_data\": \"123456\",\n\t\t\"voice_lang\": \"DE\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostSmsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/sms\";\n\n        var json = new JSONObject();\n        json.put(\"sender_id\", \"My Sender\");\n        json.put(\"text\", \"Test message\");\n        json.put(\"service_code\", \"direct\");\n        json.put(\"phone\", \"+49751234567\");\n        json.put(\"delivery_at\", 1573724611);\n        json.put(\"is_unicode\", true);\n        json.put(\"callback_data\", \"123456\");\n        json.put(\"voice_lang\", \"DE\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"sms resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create sms\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_PAYMENT_REQUIRED: // 402\n                        System.out.println(\"Error:402 There are not enough funds on your account!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "/*\n * Post sms\n */\nconst token = \"7b7c6063bab885ce79814b5ff1ee6885\";\n\nvar postObj = {\n    sender_id: 'My Sender',\n    text: 'Test message',\n    service_code: 'direct',\n    phone: '+49751234567',\n    delivery_at: 1573724611,\n    is_unicode: true,\n    callback_data: \"123456\",\n    voice_lang: \"DE\"\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: 'api.lox24.eu',\n    path: '/sms',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - sms resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    }\n    else if (res.statusCode == 400) console.log(\"Error: code = 400 - Invalid input\");\n    else if (res.statusCode == 401) console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    else if (res.statusCode == 402) console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    else if (res.statusCode == 403) console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/sms';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'sender_id' => 'My Sender',\n    'text' => \"First line\\nSecond line\",\n    'service_code' => 'direct',\n    'phone' => '+49751234567',\n    'delivery_at' => 1573724611,\n    'is_unicode' => true,\n    'callback_data' => '123456',\n    'voice_lang' => 'DE',\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/sms'\n\n\ndata = {\n    'sender_id': \"My Sender\",\n    'text' : \"Test message\",\n    'service_code' : \"direct\",\n    'phone': \"+49751234567\",\n    'delivery_at': 1573724611,\n    'is_unicode': True,\n    'callback_data' => '123456',\n    'voice_lang' => 'DE'\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create sms\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - sms resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/sms/dryrun": {
            "post": {
                "operationId": "api_sms_post_dryrun_collection",
                "tags": [
                    "sms"
                ],
                "responses": {
                    "201": {
                        "description": "sms resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms.jsonld-sms_read"
                                },
                                "examples": {
                                    "example_sms_response_basic_sms": {
                                        "$ref": "#/components/examples/example_sms_response_basic_sms_jsonld"
                                    },
                                    "example_sms_response_jsonld_translit": {
                                        "$ref": "#/components/examples/example_sms_response_translit_jsonld"
                                    },
                                    "example_sms_response_jsonld_delete_text": {
                                        "$ref": "#/components/examples/example_sms_response_delete_text_jsonld"
                                    }
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms-sms_read"
                                },
                                "examples": {
                                    "example_sms_response_basic_sms": {
                                        "$ref": "#/components/examples/example_sms_response_basic_sms"
                                    },
                                    "example_sms_response_dryrun_translit": {
                                        "$ref": "#/components/examples/example_sms_response_translit"
                                    },
                                    "example_sms_response_dryrun_delete_text": {
                                        "$ref": "#/components/examples/example_sms_response_delete_text"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Simular enviar un SMS (para testear)",
                "description": "Este endpoint no env\u00eda SMS sino que emula ese proceso. Puede utilizarse para obtener el precio del SMS o probar el software durante la integraci\u00f3n. La propiedad `uuid` ser\u00e1 siempre igual a `11111111-2222-3333-4444-55555555555`. Los datos no se guardar\u00e1n en el servicio LOX24, por lo que no se puede extraer informaci\u00f3n del SMS mediante `GET /sms/{id}`. [DLR report](/info/sms-delivery-report-codes-dlr/) se env\u00eda de la misma manera que para SMS reales, si la URL/email DLR fue configurado antes.",
                "parameters": [],
                "requestBody": {
                    "description": "The new sms resource",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.sms-write"
                            },
                            "examples": {
                                "example_sms_dryrun_request_minimal": {
                                    "$ref": "#/components/examples/example_sms_request_minimal"
                                },
                                "example_sms_dryrun_request_text2speech": {
                                    "$ref": "#/components/examples/example_sms_request_text2speech"
                                },
                                "example_sms_dryrun_request_text2speech_ssml": {
                                    "$ref": "#/components/examples/example_sms_request_text2speech_ssml"
                                },
                                "example_sms_dryrun_request_unicode": {
                                    "$ref": "#/components/examples/example_sms_request_unicode"
                                },
                                "example_sms_dryrun_request_translit": {
                                    "$ref": "#/components/examples/example_sms_request_translit"
                                },
                                "example_sms_dryrun_request_delete_text": {
                                    "$ref": "#/components/examples/example_sms_request_delete_text"
                                },
                                "example_sms_dryrun_request_callback": {
                                    "$ref": "#/components/examples/example_sms_request_callback"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/sms/dryrun \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n    \"sender_id\": \"My Sender\",\n    \"phone\": \"+49751234567\",\n    \"source\": 111,\n    \"service_code\": \"direct\",\n    \"text\": \"Test message\",\n    \"delivery_at\": 1573724611,\n    \"is_unicode\": true,\n    \"callback_data\": \"123456\",\n    \"voice_lang\": \"DE\"\n}'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/sms/dryrun\";\n\n            var data = new {\n                sender_id = \"My Sender\",\n                text = \"Test message\",\n                service_code = \"direct\",\n                phone = \"+49751234567\",\n                delivery_at = 1573724611,\n                is_unicode = true,\n                voice_lang = \"DE\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"sms resource created in dryrun mode\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create sms\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/sms/dryrun\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"sender_id\":    \"My Sender\",\n\t\t\"phone\":        \"+49751234567\",\n\t\t\"source\":       111,\n\t\t\"service_code\": \"direct\",\n\t\t\"text\":         \"Test message\",\n\t\t\"delivery_at\":  1593724611,\n\t\t\"is_unicode\":   true,\n\t\t\"voice_lang\": \"DE\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostSmsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/sms/dryrun\";\n\n        var json = new JSONObject();\n        json.put(\"sender_id\", \"My Sender\");\n        json.put(\"text\", \"Test message\");\n        json.put(\"service_code\", \"direct\");\n        json.put(\"phone\", \"+49751234567\");\n        json.put(\"delivery_at\", 1573724611);\n        json.put(\"is_unicode\", true);\n        json.put(\"voice_lang\", \"DE\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"sms resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create sms\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    sender_id: 'My Sender',\n    text: 'Test message',\n    service_code: 'direct',\n    phone: '+49751234567',\n    delivery_at: 1573724611,\n    is_unicode: true,\n    voice_lang: \"DE\"\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/dryrun',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - sms resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 402) {\n        console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/sms/dryrun';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n\n$body = [\n    'sender_id' => 'My Sender',\n    'text' => \"First line\\nSecond line\",\n    'service_code' => 'direct',\n    'phone' => '+49751234567',\n    'delivery_at' => 1573724611,\n    'is_unicode' => true,\n    'voice_lang' => 'DE',\n];\n\n;\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/sms/dryrun'\n\n\ndata = {\n    'sender_id': \"My Sender\",\n    'text' : \"Test message\",\n    'service_code' : \"direct\",\n    'phone': \"+49751234567\",\n    'delivery_at': 1573724611,\n    'is_unicode': True,\n    'callback_data' => '123456',\n    'voice_lang' => 'DE'\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create sms\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - sms resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/sms/ops/batch_cancel": {
            "post": {
                "operationId": "sms_ops_cancel",
                "tags": [
                    "sms"
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms-batch-cancel-response"
                                }
                            }
                        },
                        "description": "Count of the canceled SMS"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Detener los SMS aplazados y a\u00fan no enviados",
                "description": "Con esta API puede eliminar mensajes SMS que a\u00fan no se hayan enviado o interrumpir el proceso de env\u00edo. Para los mensajes SMS programados, la hora de transmisi\u00f3n debe ser futura. Si el SMS no est\u00e1 programado, la transmisi\u00f3n al proveedor de telefon\u00eda m\u00f3vil puede tardar unos segundos, lo que posiblemente le permitir\u00e1 detener la transmisi\u00f3n en casos excepcionales.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/order.common.created_at"
                    },
                    {
                        "$ref": "#/components/parameters/order.messages.gateway_sent_at"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_sent.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_unicode.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.iso2.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.iso2.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.dlr_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.dlr_code.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.status_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.status_code.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.gateway_sent_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.gateway_sent_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.chars_count.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.chars_count.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.parts_count.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.parts_count.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.bulk.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.bulk.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.text.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.phone.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.sender_id.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.callback_data.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.callback_data.array"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "curl -X POST https://api.lox24.eu/sms/ops/batch_cancel?uuid=20f39273-0566-11ea-a637-96000028b339  \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string text = \"Test\";\n\n            var query = \"text=\" + text + \"&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339\";\n            string url = \"https://api.lox24.eu/sms/ops/batch_cancel?\" + query;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"POST\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    if(resp.StatusCode == HttpStatusCode.OK) {\n                        Console.WriteLine(\"Success: SMS was canceled!\");\n                    } else {\n                        Console.WriteLine(\"Error: SMS wasn't canceled canceled!\");\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/sms/ops/batch_cancel?uuid=20f39273-0566-11ea-a637-96000028b339\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class SmsOpsCancelSmsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n        var text = \"\";\n        var query = \"text=\" + text + \"&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339\";\n        var url = \"https://api.lox24.eu/sms/ops/batch_cancel?\" + query;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(\"\"))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"Success: SMS was canceled!\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: SMS wasn't canceled!\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n\n                System.out.println(\"Error: \" + httpResponse.statusCode());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"uuid[]=44657141-9830-11ea-aa81-96000028b339&uuid[]=5dd2ba0e-9830-11ea-aa81-96000028b339&_order[created_at]=desc\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/ops/batch_cancel?' + query,\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 200 - Count of the canceled SMS\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/sms/ops/batch_cancel';\n\n$filters = [\n    //'text' => 'Test',\n    'uuid' => [\n        '8481900d-86ce-11ea-aa81-96000028b339',\n        'd5ceb189-86cd-11ea-aa81-96000028b339',\n    ],\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\necho $uri;\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\ntext = \"Test\"\n\nquery = f\"text={text}&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339\"\n\nurl = f\"https://api.lox24.eu/sms/ops/batch_cancel?{query}\"\n\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, timeout=100)\n    if res.status_code != 200: # Ok\n        print(\"Error: SMS wasn't canceled\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - SMS was canceled')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/sms/ops/batch_delete": {
            "post": {
                "operationId": "sms_ops_delete",
                "tags": [
                    "sms"
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms-batch-delete-response"
                                }
                            }
                        },
                        "description": "Count of the deleted SMS"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Eliminaci\u00f3n masiva de mensajes SMS",
                "description": "Con esta API puedes borrar cualquier mensaje SMS",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/order.common.created_at"
                    },
                    {
                        "$ref": "#/components/parameters/order.messages.gateway_sent_at"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_sent.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.is_unicode.boolean"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.uuid.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.iso2.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.iso2.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.dlr_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.dlr_code.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.status_code.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.status_code.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.gateway_sent_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.gateway_sent_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.delivery_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.created_at.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.chars_count.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.chars_count.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.parts_count.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.parts_count.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.bulk.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.bulk.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.source.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.text.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.phone.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.sender_id.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.ip.partial"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.common.key_id.array"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.callback_data.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.messages.callback_data.array"
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/sms/ops/batch_delete?uuid=20f39273-0566-11ea-a637-96000028b339  \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string text = \"Test\";\n\n            var query = \"text=\" + text + \"&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339\";\n            string url = \"https://api.lox24.eu/sms/ops/batch_delete?\" + query;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"POST\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    if(resp.StatusCode == HttpStatusCode.OK) {\n                        Console.WriteLine(\"Success: SMS was deleted!\");\n                    } else {\n                        Console.WriteLine(\"Error: SMS wasn't deleted!\");\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/sms/ops/batch_delete?uuid=20f39273-0566-11ea-a637-96000028b339\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class SmsOpsCancelSmsCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n        var text = \"\";\n        var query = \"text=\" + text + \"&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339\";\n        var url = \"https://api.lox24.eu/sms/ops/batch_delete?\" + query;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(\"\"))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"Success: SMS was canceled!\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: SMS wasn't canceled!\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n\n                System.out.println(\"Error: \" + httpResponse.statusCode());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"uuid[]=44657141-9830-11ea-aa81-96000028b339&uuid[]=5dd2ba0e-9830-11ea-aa81-96000028b339&_order[created_at]=desc\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/ops/batch_delete?' + query,\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 200 - Count of the deleted SMS\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/sms/ops/batch_delete';\n\n$filters = [\n    //'text' => 'Test',\n    'uuid' => [\n        '8481900d-86ce-11ea-aa81-96000028b339',\n        'd5ceb189-86cd-11ea-aa81-96000028b339',\n    ],\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\necho $uri;\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'SMS canceled, info = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\ntext = \"Test\"\n\nquery = f\"text={text}&uuid[]=ab6b6ceb-903a-11ea-aa81-96000028b339&uuid[]=7c7a6661-902e-11ea-aa81-96000028b339\"\n\nurl = f\"https://api.lox24.eu/sms/ops/batch_delete?{query}\"\n\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\n\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, timeout=100)\n    if res.status_code != 200: # Ok\n        print(\"Error: SMS wasn't canceled\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - SMS was canceled')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/sms/{uuid}": {
            "get": {
                "operationId": "api_sms_get_item",
                "deprecated": false,
                "tags": [
                    "sms"
                ],
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/sms/20f39273-0566-11ea-a637-96000028b339 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n            string url = \"https://api.lox24.eu/sms/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"sms resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/sms/981f6497-a03e-11ea-b2e9-b8ca3a65338c\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetBulksItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"343c785b-8567-11ea-aa81-96000028b339\";\n\n        var url = \"https://api.lox24.eu/sms/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '5dd2ba0e-9830-11ea-aa81-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/sms/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"SMS with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nsms_id = \"343c785b-8567-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/sms/{sms_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - sms resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "sms resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms.jsonld-sms_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms-sms_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Recupera la entrada de SMS",
                "description": "Obtenci\u00f3n de la entidad SMS por el ID (`uuid`). Si no se encuentra el SMS, se responder\u00e1 con el c\u00f3digo HTTP 404.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.sms.uuid"
                    }
                ]
            },
            "delete": {
                "operationId": "api_sms_delete_item",
                "deprecated": false,
                "tags": [
                    "sms"
                ],
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/sms/20f39273-0566-11ea-a637-96000028b339 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"851b600d-901e-11ea-aa81-96000028b339\";\n            string url = \"https://api.lox24.eu/sms/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"DELETE\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    if(resp.StatusCode == HttpStatusCode.NoContent) { //204\n                        Console.WriteLine(\"Success: sms was deleted\");\n                    } else {\n                        Console.WriteLine(\"Error: something went wrong, code({0})\", respCode);\n                        Stream respStream = resp.GetResponseStream();\n                        using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                        {\n                            string responseText = sr.ReadToEnd();\n\n                            JObject parsed = JObject.Parse(responseText);\n\n                            foreach (var pair in parsed)\n                            {\n                                Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n                            }\n                        }\n                    }\n\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"DELETE\"\n\tconst URL = \"https://api.lox24.eu/sms/981f6497-a03e-11ea-b2e9-b8ca3a65338c\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tswitch res.StatusCode {\n\tcase 204:\n\t\tfmt.Println(\"Sms was deleted!\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class DeleteSmsItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n        var id = \"851b600d-901e-11ea-aa81-96000028b339\";\n        var url = \"https://api.lox24.eu/sms/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_NO_CONTENT) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"sms was delete.\");\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                JSONObject parsed = new JSONObject(httpResponse.body());\n\n                parsed.keys().forEachRemaining(jsonKey -> System.out.println(jsonKey + \":\" + parsed.get(jsonKey)));\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '20f39273-0566-11ea-a637-96000028b339';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 204) {\n        console.log('Success: code = 204 - sms resource deleted');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '11111111-2222-3333-4444-55555555555';\n$uri = 'https://api.lox24.eu/sms/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\nif(204 === $code) {\n    echo \"SMS with id = {$id} was deleted!\";\n} elseif(404 === $code) {\n    echo \"SMS with id = {$id} not found!\";\n} else {\n    $data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n    echo \"SMS: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nsms_id = \"343c785b-8567-11ea-aa81-96000028b339\"\n\nurl = f'https://api.lox24.eu/sms/{sms_id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 204: # No Content\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - sms was deleted')\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ],
                "responses": {
                    "204": {
                        "$ref": "#/components/responses/204-deleted"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Eliminar un SMS",
                "description": "Eliminar la entidad SMS por el ID (`uuid`). La respuesta del endpoint no contiene el cuerpo y tiene el c\u00f3digo HTTP 204 si el SMS fue removido o 404 si no existe. Atenci\u00f3n. El SMS tambi\u00e9n se borra de la factura detallada. Por lo tanto, las reclamaciones posteriores quedan excluidas por falta de trazabilidad.",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "required": true,
                        "deprecated": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "SMS ID (`uuid`)"
                    }
                ]
            }
        },
        "/sms/clicks": {
            "get": {
                "operationId": "api_sms_clicks_get_collection",
                "tags": [
                    "click-rate"
                ],
                "responses": {
                    "200": {
                        "description": "sms_clicks collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.sms_clicks.jsonld-short_link_msg_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.sms_clicks-short_link_msg_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List of all SMS with clicks",
                "description": "Retrieves the list of sms which contain a short link and the number of clicks on these links.",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "",
                        "required": false,
                        "deprecated": false,
                        "allowEmptyValue": true,
                        "schema": {
                            "type": "integer",
                            "default": 1
                        },
                        "style": "form",
                        "explode": false,
                        "allowReserved": false
                    },
                    {
                        "name": "_order[created_at]",
                        "in": "query",
                        "description": "Sort a list by 'created_at' property",
                        "required": false,
                        "deprecated": false,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "string",
                            "default": "asc",
                            "enum": [
                                "asc",
                                "desc"
                            ]
                        },
                        "style": "form",
                        "explode": false,
                        "allowReserved": false
                    },
                    {
                        "name": "requests_count",
                        "in": "query",
                        "description": "*Exact* filter by the requests count value",
                        "required": false,
                        "deprecated": false,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "integer"
                        },
                        "style": "form",
                        "explode": false,
                        "allowReserved": false
                    },
                    {
                        "name": "requests_count[]",
                        "in": "query",
                        "description": "*Exact* and *range* filter by the requests count value",
                        "required": false,
                        "deprecated": false,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        },
                        "style": "form",
                        "explode": true,
                        "allowReserved": false
                    },
                    {
                        "name": "created_at",
                        "in": "query",
                        "description": "*Exact* filter by SMS creating date",
                        "required": false,
                        "deprecated": false,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "integer"
                        },
                        "style": "form",
                        "explode": false,
                        "allowReserved": false
                    },
                    {
                        "name": "created_at[]",
                        "in": "query",
                        "description": "*Exact* and *range* filter by SMS creating date",
                        "required": false,
                        "deprecated": false,
                        "allowEmptyValue": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        },
                        "style": "form",
                        "explode": true,
                        "allowReserved": false
                    }
                ],
                "deprecated": false,
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/sms/clicks \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/sms/clicks?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/sms/clicks?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/sms/clicks?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/clicks?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/sms/clicks';\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/sms/clicks?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/sms/{uuid}/clicks": {
            "get": {
                "operationId": "api_sms_clicks_per_message_get_collection",
                "deprecated": false,
                "responses": {
                    "200": {
                        "description": "sms_clicks resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms_clicks.jsonld-short_link_msg_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.sms_clicks-short_link_msg_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Short-Link clicks of a SMS",
                "description": "Returns the number of clicks on a short link for a specific SMS. If SMS doesn't exists or doesn't contain then HTTP code 404 will response.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.sms.uuid"
                    }
                ],
                "tags": [
                    "click-rate"
                ],
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl https://api.lox24.eu/sms/clicks/sms_uuid_here  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            var id = \"sms_uuid_here\";\n\n            string url = \"https://api.lox24.eu/sms/clicks/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; //or application/ld+json\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"item resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/sms/clicks/sms_uuid_here\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var userId = \"1234567\";\n        var id = \"sms_uuid_here\";\n\n        var url = \"https://api.lox24.eu/sms/clicks/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = 'sms_uuid_here';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/sms/clicks/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Resource not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();\n\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = 'sms_uuid_here';\n$uri = 'https://api.lox24.eu/sms/clicks/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Item with id = $id not found!\";\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"msg_uuid\"\n\nurl = f'https://api.lox24.eu/sms/clicks/{id}'\n\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n\n\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/short_link_campaigns/{code}/short_links": {
            "get": {
                "operationId": "api_short_link_campaigns_short_links_get_item",
                "responses": {
                    "200": {
                        "description": "short_links collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.short_links.jsonld-short_link_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "type": "integer",
                                            "minimum": 0
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.short_links-short_link_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "List of all individual short links of a campaign",
                "description": "List of all short links which were used in a specific campaign.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.short_link_campaigns.code"
                    }
                ],
                "tags": [
                    "links"
                ],
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/short_link_campaigns/{id}/short_links \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string campaign = \"campaign_code\";\n            string url = \"https://api.lox24.eu/short_link_campaigns/\" + campaign + \"/short_links?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/short_link_campaigns/campaign_code/short_links?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.sms_clicks;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var campaign = 'campaign_id'\n        var url = \"https://api.lox24.eu/short_link_campaigns/\" + campaign + \"/short_links?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nconst query = \"page=1\";\nconst campaign_id = 'campaign_id';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/short_link_campaigns/' + campaign_id + '/short_links?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n$campaignId = 'campaign_id';\n$uri = \"https://api.lox24.eu/short_link_campaigns/$campaignId/short_links\";\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: $token\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = $code, data = \" . var_export($data, true);\n}\n\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\ncampaign = \"short_link_id\"\nurl = \"https://api.lox24.eu/short_link_campaigns/\" + campaign + \"/short_links?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - items collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/blocked_numbers": {
            "get": {
                "operationId": "api_blocked_numbers_get_collection",
                "tags": [
                    "blocked-numbers"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter.blocked_numbers.number.exact"
                    },
                    {
                        "$ref": "#/components/parameters/filter.blocked_numbers.type.exact"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "blocked_numbers collection",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "hydra:member": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/schema.blocked_numbers.jsonld-blocked_number_read"
                                            }
                                        },
                                        "hydra:totalItems": {
                                            "$ref": "#/components/schemas/hydra.totalItems"
                                        },
                                        "hydra:view": {
                                            "$ref": "#/components/schemas/hydra.view"
                                        },
                                        "hydra:search": {
                                            "$ref": "#/components/schemas/hydra.search"
                                        }
                                    },
                                    "required": [
                                        "hydra:member"
                                    ]
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/schema.blocked_numbers-blocked_number_read"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Retrieves the collection of blocked phone numbers",
                "description": "Retrieves the collection of blocked phone numbers with optional filtering by number or type",
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/blocked_numbers \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/blocked_numbers?page=1\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"blocked numbers collection response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n}",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/blocked_numbers?page=1\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.blocked_number;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetBlockedNumbersCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/blocked_numbers?page=1\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"blocked numbers collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar query = \"page=1\";\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/blocked_numbers?' + query,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - blocked numbers list response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$uri = 'https://api.lox24.eu/blocked_numbers';\n\n$filters = [\n    'page' => 1,\n];\n\n$uri .= $filters ? '?' . http_build_query($filters) : '';\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = \"https://api.lox24.eu/blocked_numbers?page=1\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - blocked numbers collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_blocked_numbers_post",
                "tags": [
                    "blocked numbers",
                    "n\u00famero de tel\u00e9fono bloqueado",
                    "gesperrte Telefonnummer",
                    "n\u00famero de telefone bloqueado"
                ],
                "responses": {
                    "201": {
                        "description": "blocked_number resource created",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.blocked_numbers.jsonld-blocked_number_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.blocked_numbers-blocked_number_read"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "409": {
                        "$ref": "#/components/responses/409-conflict"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Creates a blocked phone number resource",
                "description": "Creates a new blocked phone number for the authenticated user",
                "requestBody": {
                    "description": "The new blocked phone number resource",
                    "content": {
                        "application/ld+json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.blocked_numbers-blocked_number_write"
                            }
                        },
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/schema.blocked_numbers-blocked_number_write"
                            }
                        }
                    },
                    "required": true
                },
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/blocked_numbers \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n      \"number\": \"+1234567890\"\n}'",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/blocked_numbers\";\n\n\n            var data = new {\n                number = \"+1234567890\"\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\"; // or application/ld+json\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"blocked number resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create blocked number\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest: // 400\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.Conflict: // 409\n                        Console.WriteLine(\"Error:409 Conflict - resource already exists\");\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n}",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/blocked_numbers\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tpayload := map[string]interface{}{\n\t\t\"number\": \"+1234567890\",\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println((string(body)))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 409:\n\t\tfmt.Println(\"Error: code = 409 - Conflict - resource already exists\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.blocked_number;\n\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostBlockedNumberCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/blocked_numbers\";\n\n        var json = new JSONObject();\n        json.put(\"number\", \"+1234567890\");\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"blocked number resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create blocked number\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST: // 400\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_CONFLICT: // 409\n                        System.out.println(\"Error:409 Conflict - resource already exists\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    number: '+1234567890'\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/blocked_numbers',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - blocked number resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 400) {\n        console.log(\"Error: code = 400 - Invalid input\");\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 409) {\n        console.log(\"Error: code = 409 - Conflict - resource already exists\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/blocked_numbers';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    \"number\" => \"+1234567890\",\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/blocked_numbers'\n\n\ndata = {\n    'number': '+1234567890'\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    # timeout is 100 seconds, the payload is automatically converted to json format\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201: # Created\n        print(\"Error: Wrong response code on create blocked number\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - blocked number resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 409:\n        print(\"Error:409 Conflict - resource already exists\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))",
                        "label": "Python"
                    }
                ]
            }
        },
        "/blocked_numbers/{id}": {
            "get": {
                "operationId": "api_blocked_numbers_get_item",
                "tags": [
                    "blocked-numbers"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.blocked_numbers.id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "blocked_number resource",
                        "content": {
                            "application/ld+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.blocked_numbers.jsonld-blocked_number_read"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/schema.blocked_numbers-blocked_number_read"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "summary": "Retrieves a blocked phone number resource",
                "description": "Retrieves a blocked phone number resource by its identifier",
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/blocked_numbers/12344 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string id = \"12344\";\n            string url = \"https://api.lox24.eu/blocked_numbers/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\"; // or \"application/ld+json\"\n            httpWebRequest.Method = \"GET\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    Console.WriteLine(\"Success:{0} {1}\", respCode, \"blocked number resource response\");\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Blocked number with id = {0} not found!\", id);\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n}",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/blocked_numbers/12344\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println((string(body)))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Blocked number not found!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.blocked_number;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetBlockedNumberItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"12344\";\n        var url = \"https://api.lox24.eu/blocked_numbers/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\") // or application/ld+json\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"blocked number resource response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Blocked number with id = \" + id + \" not found!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '12344';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/blocked_numbers/' + id,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log('Success: code = 200 - blocked number resource response');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Blocked number not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\n\nreq.end();",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '12344';\n$uri = 'https://api.lox24.eu/blocked_numbers/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} elseif(404 === $code) {\n    echo \"Blocked number with id = {$id} not found!\";\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"12344\"\n\nurl = f\"https://api.lox24.eu/blocked_numbers/{id}\"\n\nheaders = {\n    'Accept': 'application/json', # or application/ld+json\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - blocked number resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(f\"Error: code = 404 - Blocked number with id = {id} not found!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))",
                        "label": "Python"
                    }
                ]
            },
            "delete": {
                "operationId": "api_blocked_numbers_delete_item",
                "tags": [
                    "blocked numbers",
                    "n\u00famero de tel\u00e9fono bloqueado",
                    "gesperrte Telefonnummer",
                    "n\u00famero de telefone bloqueado"
                ],
                "parameters": [
                    {
                        "$ref": "#/components/parameters/path.blocked_numbers.id"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "blocked_number resource deleted"
                    },
                    "404": {
                        "description": "Resource not found"
                    }
                },
                "summary": "Removes the blocked phone number resource",
                "description": "Removes the blocked phone number resource from the user's blocked list",
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X DELETE https://api.lox24.eu/blocked_numbers/12344  \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json.Linq;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class client\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\n            var id = \"12344\";\n            string url = \"https://api.lox24.eu/blocked_numbers/\" + id;\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"DELETE\";\n            //httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    int respCode = (int)resp.StatusCode;\n                    if(resp.StatusCode == HttpStatusCode.NoContent) { //204\n                        Console.WriteLine(\"Success: blocked number was deleted\");\n                    } else {\n                        Console.WriteLine(\"Error: something went wrong, code({0})\", respCode);\n                        Stream respStream = resp.GetResponseStream();\n                        using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                        {\n                            string responseText = sr.ReadToEnd();\n\n                            JObject parsed = JObject.Parse(responseText);\n\n                            foreach (var pair in parsed)\n                            {\n                                Console.WriteLine(\"{0}: {1}\", pair.Key, pair.Value);\n                            }\n                        }\n                    }\n\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized: // 401\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden: // 403\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.NotFound: // 404\n                        Console.WriteLine(\"Error:404 Blocked number with id = {0} not found!\", id);\n                        break;\n                    case HttpStatusCode.InternalServerError: // 500\n                    case HttpStatusCode.BadGateway: //502\n                    case HttpStatusCode.ServiceUnavailable: // 503\n                    case HttpStatusCode.GatewayTimeout: // 504\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n}",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"DELETE\"\n\tconst URL = \"https://api.lox24.eu/blocked_numbers/12344\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := ioutil.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 204:\n\t\tfmt.Println(\"Blocked number was deleted successfully!\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Blocked number not found!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d, response = %s\\n\", res.StatusCode, string(body))\n\t}\n}",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.blocked_number;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class DeleteBlockedNumberItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var id = \"12344\";\n        var url = \"https://api.lox24.eu/blocked_numbers/\" + id;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .DELETE()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1) // Http 1.1 clients are kept alive be default\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_NO_CONTENT) { // 204\n                System.out.println(\"Success: blocked number was deleted\");\n            } else {\n                System.out.println(\"Error: something went wrong, code(\" + httpResponse.statusCode() + \")\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_UNAUTHORIZED: // 401\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN: // 403\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND: // 404\n                        System.out.println(\"Error:404 Blocked number with id = \" + id + \" not found!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR: // 500\n                    case HttpURLConnection.HTTP_BAD_GATEWAY: //502\n                    case HttpURLConnection.HTTP_UNAVAILABLE: // 503\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: // 504\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "const host = 'api.lox24.eu';\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar id = '12344';\n\nconst https = require('https');\nconst options = {\n    hostname: host,\n    path: '/blocked_numbers/' + id,\n    method: 'DELETE',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 204) {\n        console.log('Success: code = 204 - blocked number resource deleted');\n        res.on('data', d => { process.stdout.write(d) })\n    } else if (res.statusCode == 401) {\n        console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    } else if (res.statusCode == 403) {\n        console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    } else if (res.statusCode == 404) {\n        console.log(\"Error: code = 404 - Blocked number not found\");\n    } else {\n        console.log(\"Error: code = \" + res.statusCode );\n    }\n});\n\nreq.on('error', error => {\n    console.error(error)\n});\n\nreq.end();",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$id = '12344';\n$uri = 'https://api.lox24.eu/blocked_numbers/' . $id;\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_CUSTOMREQUEST => 'DELETE',\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json', // or application/ld+json\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\nif(204 === $code) {\n    echo \"Blocked number with id = {$id} was deleted!\";\n} elseif(404 === $code) {\n    echo \"Blocked number with id = {$id} not found!\";\n} else {\n    $data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n    echo \"Blocked number: code = {$code}, data = \" . var_export($data, true);\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nid = \"12344\"\n\nurl = f\"https://api.lox24.eu/blocked_numbers/{id}\"\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    # timeout is 100 seconds\n    res = requests.delete(url, headers=headers, timeout=100)\n    if res.status_code != 204: # No Content\n        print(\"Error: Wrong response code on delete blocked number\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - blocked number was deleted')\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 404:\n        print(f\"Error: code = 404 - Blocked number with id = {id} not found!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    # Only try to print JSON if response has content\n    if res.content:\n        print(json.dumps(res.json(), indent=4))",
                        "label": "Python"
                    }
                ]
            }
        },
        "/verify_codes": {
            "get": {
                "operationId": "api_verify_codes_get_collection",
                "tags": [
                    "verify-codes"
                ],
                "summary": "Recupera la colecci\u00f3n de c\u00f3digos de verificaci\u00f3n",
                "description": "Recupera una lista de c\u00f3digos de verificaci\u00f3n creados por el usuario.",
                "responses": {
                    "200": {
                        "description": "Collection of verify codes",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/verify_code_read"
                                    }
                                },
                                "examples": {
                                    "collection": {
                                        "summary": "Verify code collection",
                                        "value": [
                                            {
                                                "id": "d7ad7539-fb8f-4dbb-a7f7-7c40babec969",
                                                "user_id": 12345,
                                                "phone": "+491701234567",
                                                "routing_strategy": [
                                                    {
                                                        "channel": "telegram",
                                                        "timeout_sec": 30
                                                    },
                                                    {
                                                        "channel": "voice",
                                                        "sender_id": "LOX24",
                                                        "template": "Your code is {{code}}"
                                                    },
                                                    {
                                                        "channel": "sms",
                                                        "sender_id": "LOX24",
                                                        "template": "Your code is {{code}}"
                                                    }
                                                ],
                                                "status": 10,
                                                "delivered_channel": "sms",
                                                "cost": 120,
                                                "currency": "EUR",
                                                "code": "1234",
                                                "code_length": 4,
                                                "payload": "yours payload here",
                                                "lang": "EN",
                                                "created_at": 1779903448,
                                                "updated_at": 1779903510,
                                                "history": [
                                                    {
                                                        "id": "bccaff09-59f2-11f1-a685-7c10c91d54a1",
                                                        "channel": "telegram",
                                                        "status": 20,
                                                        "processed_at": 1779903478,
                                                        "external_id": "tg_msg_001"
                                                    },
                                                    {
                                                        "id": "bccaff09-59f2-11f1-a685-7c10c91d54a2",
                                                        "channel": "voice",
                                                        "status": 20,
                                                        "processed_at": 1779903490,
                                                        "external_id": "voice_msg_002"
                                                    },
                                                    {
                                                        "id": "bccaff09-59f2-11f1-a685-7c10c91d54a3",
                                                        "channel": "sms",
                                                        "status": 10,
                                                        "processed_at": 1779903510,
                                                        "external_id": "sms_msg_003"
                                                    }
                                                ],
                                                "is_code_deleted": false
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/verify_codes \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class GetVerifyCodesCollection\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/verify_codes\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    if (resp.StatusCode == HttpStatusCode.OK) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"verify code collection response\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0}\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized:\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden:\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpStatusCode.InternalServerError:\n                    case HttpStatusCode.BadGateway:\n                    case HttpStatusCode.ServiceUnavailable:\n                    case HttpStatusCode.GatewayTimeout:\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n}\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/verify_codes\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := io.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.verify_codes;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetVerifyCodesCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/verify_codes\";\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1)\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"verify code collection response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                switch (httpResponse.statusCode()) {\n                    case HttpURLConnection.HTTP_UNAUTHORIZED:\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN:\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR:\n                    case HttpURLConnection.HTTP_BAD_GATEWAY:\n                    case HttpURLConnection.HTTP_UNAVAILABLE:\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT:\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                    default:\n                        System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                }\n            }\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "/*\n * Get verify code collection\n */\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nconst https = require('https');\nconst options = {\n    hostname: 'api.lox24.eu',\n    path: '/verify_codes',\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 200 - verify code collection response\");\n        res.on('data', d => { process.stdout.write(d) })\n    }\n    else if (res.statusCode == 401) console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    else if (res.statusCode == 403) console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/verify_codes';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/verify_codes'\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - verify code collection response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            },
            "post": {
                "operationId": "api_verify_codes_post_collection",
                "tags": [
                    "verify-codes"
                ],
                "summary": "Crear un c\u00f3digo de verificaci\u00f3n",
                "description": "Inicia un proceso de verificaci\u00f3n creando un nuevo c\u00f3digo de verificaci\u00f3n con una estrategia de enrutamiento especificada.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/verify_code_write"
                            },
                            "examples": {
                                "multi_channel": {
                                    "$ref": "#/components/examples/example_verify_code_request"
                                },
                                "telegram": {
                                    "$ref": "#/components/examples/example_verify_code_request_telegram"
                                },
                                "voice": {
                                    "$ref": "#/components/examples/example_verify_code_request_voice"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Verify code created and delivery process started",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/verify_code_read"
                                },
                                "examples": {
                                    "multi_channel": {
                                        "$ref": "#/components/examples/example_verify_code_response"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/400-bad-request"
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "402": {
                        "$ref": "#/components/responses/402-not-enough-funds"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "422": {
                        "$ref": "#/components/responses/422-unprocessable-entity"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X POST https://api.lox24.eu/verify_codes \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \\\n  -d '{\n    \"phone\": \"+491701234567\",\n    \"code\": \"1234\",\n    \"is_code_deleted\": false,\n    \"payload\": \"yours payload here\",\n    \"lang\": \"EN\",\n    \"routing_strategy\": [\n      {\n        \"channel\": \"telegram\",\n        \"timeout_sec\": 30\n      },\n      {\n        \"channel\": \"voice\",\n        \"sender_id\": \"LOX24\",\n        \"template\": \"Your code is {{code}}\"\n      },\n      {\n        \"channel\": \"sms\",\n        \"sender_id\": \"LOX24\",\n        \"template\": \"Your code is {{code}}\"\n      }\n    ]\n  }'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using Newtonsoft.Json;\nusing System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class VerifyCodesClient\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string url = \"https://api.lox24.eu/verify_codes\";\n\n            var data = new {\n                phone = \"+491701234567\",\n                code = \"1234\",\n                is_code_deleted = false,\n                payload = \"yours payload here\",\n                lang = \"EN\",\n                routing_strategy = new[] {\n                    new { channel = \"telegram\", timeout_sec = 30 },\n                    new { channel = \"voice\", sender_id = \"LOX24\", template = \"Your code is {{code}}\" },\n                    new { channel = \"sms\", sender_id = \"LOX24\", template = \"Your code is {{code}}\" }\n                }\n            };\n\n            string postdata = JsonConvert.SerializeObject(data);\n\n            Console.WriteLine(\"Post data: {0}\", postdata);\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"POST\";\n            httpWebRequest.KeepAlive = true;\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n            httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;\n\n            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))\n            {\n                streamWriter.Write(postdata);\n                streamWriter.Flush();\n                streamWriter.Close();\n            }\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n\n                    if(resp.StatusCode == HttpStatusCode.Created) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"verify code resource created\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0} on create verify code\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.BadRequest:\n                        Console.WriteLine(\"Error:400 Invalid input\");\n                        break;\n                    case HttpStatusCode.Unauthorized:\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.PaymentRequired:\n                        Console.WriteLine(\"Error:402 There are not enough funds on your account!\");\n                        break;\n                    case HttpStatusCode.Forbidden:\n                        Console.WriteLine(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case (HttpStatusCode)422:\n                        Console.WriteLine(\"Error:422 Unprocessable entity\");\n                        break;\n                    case HttpStatusCode.InternalServerError:\n                    case HttpStatusCode.BadGateway:\n                    case HttpStatusCode.ServiceUnavailable:\n                    case HttpStatusCode.GatewayTimeout:\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n}\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"POST\"\n\tconst URL = \"https://api.lox24.eu/verify_codes\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\troutingStrategy := []map[string]interface{}{\n\t\t{\"channel\": \"telegram\", \"timeout_sec\": 30},\n\t\t{\"channel\": \"voice\", \"sender_id\": \"LOX24\", \"template\": \"Your code is {{code}}\"},\n\t\t{\"channel\": \"sms\", \"sender_id\": \"LOX24\", \"template\": \"Your code is {{code}}\"},\n\t}\n\n\tpayload := map[string]interface{}{\n\t\t\"phone\":           \"+491701234567\",\n\t\t\"code\":            \"1234\",\n\t\t\"is_code_deleted\": false,\n\t\t\"payload\":         \"yours payload here\",\n\t\t\"lang\":            \"EN\",\n\t\t\"routing_strategy\": routingStrategy,\n\t}\n\n\tjsonPayload, _ := json.Marshal(payload)\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := io.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 201:\n\t\tfmt.Println(string(body))\n\tcase 400:\n\t\tfmt.Println(\"Error: code = 400 - Invalid input\")\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 402:\n\t\tfmt.Println(\"Error: code = 402 - There are not enough funds on your account!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n\tcase 422:\n\t\tfmt.Println(\"Error: code = 422 - Unprocessable entity\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.verify_codes;\n\nimport org.json.JSONArray;\nimport org.json.JSONObject;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class PostVerifyCodesCollection {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var url = \"https://api.lox24.eu/verify_codes\";\n\n        var routingStrategy = new JSONArray();\n        routingStrategy.put(new JSONObject().put(\"channel\", \"telegram\").put(\"timeout_sec\", 30));\n        routingStrategy.put(new JSONObject().put(\"channel\", \"voice\").put(\"sender_id\", \"LOX24\").put(\"template\", \"Your code is {{code}}\"));\n        routingStrategy.put(new JSONObject().put(\"channel\", \"sms\").put(\"sender_id\", \"LOX24\").put(\"template\", \"Your code is {{code}}\"));\n\n        var json = new JSONObject();\n        json.put(\"phone\", \"+491701234567\");\n        json.put(\"code\", \"1234\");\n        json.put(\"is_code_deleted\", false);\n        json.put(\"payload\", \"yours payload here\");\n        json.put(\"lang\", \"EN\");\n        json.put(\"routing_strategy\", routingStrategy);\n\n        var postData = json.toString();\n\n        System.out.println(\"Post data: \" + postData);\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n                .setHeader(\"Accept\", \"application/json\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .POST(HttpRequest.BodyPublishers.ofString(postData))\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1)\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_CREATED) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"verify code resource created\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n\n            } else {\n\n                System.out.println(\"Error: wrong response code \" + httpResponse.statusCode() + \" on create verify code\");\n\n                switch (httpResponse.statusCode()) {\n\n                    case HttpURLConnection.HTTP_BAD_REQUEST:\n                        System.out.println(\"Error:400 Invalid input\");\n                        break;\n                    case HttpURLConnection.HTTP_UNAUTHORIZED:\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_PAYMENT_REQUIRED:\n                        System.out.println(\"Error:402 There are not enough funds on your account!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN:\n                        System.out.println(\"Error:403 Account isn't activated. Please wait or contact to support!\");\n                        break;\n                    case 422:\n                        System.out.println(\"Error:422 Unprocessable entity\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR:\n                    case HttpURLConnection.HTTP_BAD_GATEWAY:\n                    case HttpURLConnection.HTTP_UNAVAILABLE:\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT:\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n\n            }\n\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "/*\n * Post verify code\n */\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n\nvar postObj = {\n    phone: '+491701234567',\n    code: '1234',\n    is_code_deleted: false,\n    payload: 'yours payload here',\n    lang: 'EN',\n    routing_strategy: [\n        {\n            channel: 'telegram',\n            timeout_sec: 30\n        },\n        {\n            channel: 'voice',\n            sender_id: 'LOX24',\n            template: 'Your code is {{code}}'\n        },\n        {\n            channel: 'sms',\n            sender_id: 'LOX24',\n            template: 'Your code is {{code}}'\n        }\n    ]\n};\n\nvar postdata = JSON.stringify(postObj);\n\nconst https = require('https');\nconst options = {\n    hostname: 'api.lox24.eu',\n    path: '/verify_codes',\n    method: 'POST',\n    headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json',\n        'Content-Length': postdata.length,\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 201) {\n        console.log(\"Success: code = 201 - verify code resource created\");\n        res.on('data', d => { process.stdout.write(d) })\n    }\n    else if (res.statusCode == 400) console.log(\"Error: code = 400 - Invalid input\");\n    else if (res.statusCode == 401) console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    else if (res.statusCode == 402) console.log(\"Error: code = 402 - There are not enough funds on your account!\");\n    else if (res.statusCode == 403) console.log(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\");\n    else if (res.statusCode == 422) console.log(\"Error: code = 422 - Unprocessable entity\");\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.write(postdata);\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$uri = 'https://api.lox24.eu/verify_codes';\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$body = [\n    'phone' => '+491701234567',\n    'code' => '1234',\n    'is_code_deleted' => false,\n    'payload' => 'yours payload here',\n    'lang' => 'EN',\n    'routing_strategy' => [\n        [\n            'channel' => 'telegram',\n            'timeout_sec' => 30,\n        ],\n        [\n            'channel' => 'voice',\n            'sender_id' => 'LOX24',\n            'template' => 'Your code is {{code}}',\n        ],\n        [\n            'channel' => 'sms',\n            'sender_id' => 'LOX24',\n            'template' => 'Your code is {{code}}',\n        ],\n    ],\n];\n\nif(!$body = json_encode($body)) {\n    die('JSON encoding error!');\n}\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_POST => true,\n    CURLOPT_URL => $uri,\n    CURLOPT_POSTFIELDS => $body,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json',\n        'Content-Type: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(201 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\nurl = 'https://api.lox24.eu/verify_codes'\n\n\ndata = {\n    'phone': \"+491701234567\",\n    'code': \"1234\",\n    'is_code_deleted': False,\n    'payload': \"yours payload here\",\n    'lang': \"EN\",\n    'routing_strategy': [\n        {\n            'channel': \"telegram\",\n            'timeout_sec': 30\n        },\n        {\n            'channel': \"voice\",\n            'sender_id': \"LOX24\",\n            'template': \"Your code is {{code}}\"\n        },\n        {\n            'channel': \"sms\",\n            'sender_id': \"LOX24\",\n            'template': \"Your code is {{code}}\"\n        }\n    ]\n}\n\nheaders = {\n    'Accept': 'application/json',\n    'Content-Type': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\nprint(\"Post data : \", json.dumps(data, indent=4))\n\ntry:\n    res = requests.post(url, headers=headers, json=data, timeout=100)\n    if res.status_code != 201:\n        print(\"Error: Wrong response code on create verify code\")\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - verify code resource created')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 400:\n        print(\"Error:400 Invalid input\")\n    elif res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 402:\n        print(\"Error:402 There are not enough funds on your account!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated. Please wait or contact to support!\")\n    elif res.status_code == 422:\n        print(\"Error:422 Unprocessable entity\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        },
        "/verify_codes/{id}": {
            "get": {
                "operationId": "api_verify_codes_get_item",
                "tags": [
                    "verify-codes"
                ],
                "summary": "Recupera la entrada del c\u00f3digo de verificaci\u00f3n",
                "description": "Devuelve los detalles de un c\u00f3digo de verificaci\u00f3n espec\u00edfico, incluyendo su estado e historial.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "UUID of the verification code request.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Verify code details",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/verify_code_read"
                                },
                                "examples": {
                                    "multi_channel": {
                                        "$ref": "#/components/examples/example_verify_code_response"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/401-unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/403-forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/404-not-found"
                    },
                    "429": {
                        "$ref": "#/components/responses/429-too-many-requests"
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "bash",
                        "source": "#!/usr/bin/env bash\ncurl -X GET https://api.lox24.eu/verify_codes/d7ad7539-fb8f-4dbb-a7f7-7c40babec969 \\\n  -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'\n",
                        "label": "Bash"
                    },
                    {
                        "lang": "csharp",
                        "source": "using System;\nusing System.IO;\nusing System.Net;\nusing System.Text;\n\nnamespace Lox24.Api\n{\n    class GetVerifyCodesItem\n    {\n        static void Main()\n        {\n            string key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n            string verifyCodeId = \"d7ad7539-fb8f-4dbb-a7f7-7c40babec969\";\n            string url = $\"https://api.lox24.eu/verify_codes/{verifyCodeId}\";\n\n            var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);\n            httpWebRequest.ReadWriteTimeout = 100000;\n            httpWebRequest.ContentType = \"application/json; charset=utf-8\";\n            httpWebRequest.Accept = \"application/json\";\n            httpWebRequest.Method = \"GET\";\n            httpWebRequest.Headers.Add(\"X-LOX24-AUTH-TOKEN\", key);\n\n            try\n            {\n                using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())\n                {\n                    if (resp.StatusCode == HttpStatusCode.OK) {\n                        Console.WriteLine(\"Success:{0} {1}\", (int)resp.StatusCode, \"verify code resource response\");\n                    } else {\n                        Console.WriteLine(\"Error: wrong response code {0}\", (int)resp.StatusCode);\n                    }\n\n                    Stream respStream = resp.GetResponseStream();\n                    using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))\n                    {\n                        string responseText = sr.ReadToEnd();\n                        Console.WriteLine(\"responseText : {0}\", responseText);\n                    }\n                }\n            }\n            catch (System.Net.WebException ex)\n            {\n                var webResponse = ex.Response as System.Net.HttpWebResponse;\n                Console.WriteLine(\"Error:{0}\", webResponse.StatusCode);\n\n                switch (webResponse.StatusCode)\n                {\n                    case HttpStatusCode.Unauthorized:\n                        Console.WriteLine(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpStatusCode.Forbidden:\n                        Console.WriteLine(\"Error:403 Account isn't activated.\");\n                        break;\n                    case HttpStatusCode.NotFound:\n                        Console.WriteLine(\"Error:404 Resource not found\");\n                        break;\n                    case HttpStatusCode.InternalServerError:\n                    case HttpStatusCode.BadGateway:\n                    case HttpStatusCode.ServiceUnavailable:\n                    case HttpStatusCode.GatewayTimeout:\n                        Console.WriteLine(\"System error! Please contact to LOX24 support!\");\n                        break;\n                }\n            }\n        }\n    }\n}\n",
                        "label": "C#"
                    },
                    {
                        "lang": "go",
                        "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n)\n\nfunc main() {\n\n\tconst Method = \"GET\"\n\tconst URL = \"https://api.lox24.eu/verify_codes/d7ad7539-fb8f-4dbb-a7f7-7c40babec969\"\n\tconst Token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\n\n\tclient := &http.Client{}\n\n\treq, err := http.NewRequest(Method, URL, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treq.Header.Add(\"X-LOX24-AUTH-TOKEN\", Token)\n\treq.Header.Add(\"Accept\", \"application/json\")\n\n\tres, err := client.Do(req)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tdefer res.Body.Close()\n\n\tbody, err := io.ReadAll(res.Body)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tswitch res.StatusCode {\n\tcase 200:\n\t\tfmt.Println(string(body))\n\tcase 401:\n\t\tfmt.Println(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n\tcase 403:\n\t\tfmt.Println(\"Error: code = 403 - Account isn't activated.\")\n\tcase 404:\n\t\tfmt.Println(\"Error: code = 404 - Resource not found\")\n\tdefault:\n\t\tfmt.Printf(\"Error: code = %d\\n\", res.StatusCode)\n\t}\n}\n",
                        "label": "Go"
                    },
                    {
                        "lang": "java",
                        "source": "package eu.lox24.doc.verify_codes;\n\nimport java.io.IOException;\nimport java.net.HttpURLConnection;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class GetVerifyCodesItem {\n\n    public static void main(String[] args) {\n\n        var key = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\n        var verifyCodeId = \"d7ad7539-fb8f-4dbb-a7f7-7c40babec969\";\n        var url = \"https://api.lox24.eu/verify_codes/\" + verifyCodeId;\n\n        var httpRequest = HttpRequest.newBuilder(URI.create(url))\n                .timeout(Duration.ofMillis(100000))\n                .setHeader(\"Accept\", \"application/json\")\n                .setHeader(\"X-LOX24-AUTH-TOKEN\", key)\n                .GET()\n                .build();\n\n        var client = HttpClient.newBuilder()\n                .version(HttpClient.Version.HTTP_1_1)\n                .build();\n\n        try {\n            var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());\n\n            if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) {\n                System.out.println(\"Success:\" + httpResponse.statusCode() + \" \" + \"verify code resource response\");\n                System.out.println(\"Response text : \\n\" + httpResponse.body());\n            } else {\n                switch (httpResponse.statusCode()) {\n                    case HttpURLConnection.HTTP_UNAUTHORIZED:\n                        System.out.println(\"Error:401 Client ID or API key isn't active or invalid!\");\n                        break;\n                    case HttpURLConnection.HTTP_FORBIDDEN:\n                        System.out.println(\"Error:403 Account isn't activated.\");\n                        break;\n                    case HttpURLConnection.HTTP_NOT_FOUND:\n                        System.out.println(\"Error:404 Resource not found\");\n                        break;\n                    case HttpURLConnection.HTTP_INTERNAL_ERROR:\n                    case HttpURLConnection.HTTP_BAD_GATEWAY:\n                    case HttpURLConnection.HTTP_UNAVAILABLE:\n                    case HttpURLConnection.HTTP_GATEWAY_TIMEOUT:\n                        System.out.println(\"System error! Please contact to LOX24 support!\");\n                        break;\n                    default:\n                        System.out.println(\"Error: wrong response code \" + httpResponse.statusCode());\n                }\n            }\n        } catch (IOException | InterruptedException e) {\n            e.printStackTrace();\n        }\n    }\n}\n",
                        "label": "Java"
                    },
                    {
                        "lang": "javascript",
                        "source": "/*\n * Get verify code by ID\n */\nconst token = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\";\nconst verifyCodeId = \"d7ad7539-fb8f-4dbb-a7f7-7c40babec969\";\n\nconst https = require('https');\nconst options = {\n    hostname: 'api.lox24.eu',\n    path: `/verify_codes/${verifyCodeId}`,\n    method: 'GET',\n    headers: {\n        'Accept': 'application/json',\n        'X-LOX24-AUTH-TOKEN': token\n    }\n}\n\nconst req = https.request(options, res => {\n    if (res.statusCode == 200) {\n        console.log(\"Success: code = 200 - verify code resource response\");\n        res.on('data', d => { process.stdout.write(d) })\n    }\n    else if (res.statusCode == 401) console.log(\"Error: code = 401 - Client ID or API key isn't active or invalid!\");\n    else if (res.statusCode == 403) console.log(\"Error: code = 403 - Account isn't activated.\");\n    else if (res.statusCode == 404) console.log(\"Error: code = 404 - Resource not found\");\n})\n\nreq.on('error', error => {\n    console.error(error)\n})\nreq.end();\n",
                        "label": "JavaScript"
                    },
                    {
                        "lang": "php",
                        "source": "<?php\n\n$verifyCodeId = 'd7ad7539-fb8f-4dbb-a7f7-7c40babec969';\n$uri = \"https://api.lox24.eu/verify_codes/{$verifyCodeId}\";\n\n$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n    CURLOPT_URL => $uri,\n    CURLOPT_HTTPHEADER => [\n        \"X-LOX24-AUTH-TOKEN: {$token}\",\n        'Accept: application/json',\n    ],\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_TIMEOUT => 20,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n]);\n\n$response = curl_exec($curl);\n$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);\ncurl_close($curl);\n\n$data = json_decode($response, JSON_OBJECT_AS_ARRAY);\n\nif(200 === $code) {\n    echo 'Success: response data = ' . var_export($data, true);\n} else {\n    echo \"Error: code = {$code}, data = \" . var_export($data, true);\n}\n",
                        "label": "PHP (cUrl)"
                    },
                    {
                        "lang": "python",
                        "source": "import json\nimport requests\n\n\ntoken = \"1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx\"\nverify_code_id = \"d7ad7539-fb8f-4dbb-a7f7-7c40babec969\"\n\nurl = f'https://api.lox24.eu/verify_codes/{verify_code_id}'\n\nheaders = {\n    'Accept': 'application/json',\n    'X-LOX24-AUTH-TOKEN': token,\n}\n\ntry:\n    res = requests.get(url, headers=headers, timeout=100)\n    if res.status_code != 200:\n        res.raise_for_status()\n    else:\n        print(f'Success: code = {res.status_code} - verify code resource response')\n        print(\"Response: \", json.dumps(res.json(), indent=4))\n\nexcept requests.HTTPError:\n    if res.status_code == 401:\n        print(\"Error: code = 401 - Client ID or API key isn't active or invalid!\")\n    elif res.status_code == 403:\n        print(\"Error: code = 403 - Account isn't activated.\")\n    elif res.status_code == 404:\n        print(\"Error:404 Resource not found\")\n    elif res.status_code in (500, 502, 503, 504):\n        print(\"System error! Please contact to LOX24 support!\")\n    else:\n        print(f\"Error: code {res.status_code}\")\n    print(json.dumps(res.json(), indent=4))\n",
                        "label": "Python"
                    }
                ]
            }
        }
    },
    "webhooks": {
        "webhooks.sms-delivery": {
            "post": {
                "summary": "Informe de Entrega SMS (DLR)",
                "description": "El evento 'sms.delivery' se activa cuando se producen cambios en el [`dlr_code`](/#tag/sms-delivery-report-codes-dlr). Esto te permite saber si un SMS se ha entregado correctamente, ha sido rechazado o a\u00fan se est\u00e1 entregando.\n\nCada SMS tiene un c\u00f3digo de informe de entrega [Tipos de transporte de acontecimientos](/#tag/notifications)",
                "tags": [
                    "sms"
                ],
                "operationId": "webhooks.sms-delivery-webhook",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "sms.delivery"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.sms-delivery-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "delivered": {
                                    "$ref": "#/components/examples/webhooks.examples.sms-delivery-event"
                                },
                                "expired": {
                                    "$ref": "#/components/examples/webhooks.examples.sms-delivery-event-expired"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.sms-delivery-dryrun": {
            "post": {
                "summary": "Prueba informe de entrega de SMS (DLR)",
                "description": "El evento 'sms.delivery.dryrun' utiliza por una emulaci\u00f3n de env\u00edo de SMS.V\u00e9ase [Simular el env\u00edo de un SMS (para pruebas)](/#tag/sms/operation/api_sms_post_dryrun_collection).\n\nCada SMS tiene un c\u00f3digo de informe de entrega (DLR).\n\n[Tipos de transporte de acontecimientos](/#tag/notifications)",
                "tags": [
                    "sms"
                ],
                "operationId": "webhooks.sms-delivery-dryrun-webhook",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "sms.delivery.dryrun"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.sms-delivery-data"
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.incoming-sms-received": {
            "post": {
                "summary": "SMS entrantes",
                "description": "El evento 'sms.incoming' se env\u00eda en un SMS entrante/repuesta (originado en m\u00f3vil - SMS-MO).\n\n[Notificaciones de webhook](/#tag/notifications)",
                "operationId": "smsIncomingWebhook",
                "tags": [
                    "incomings"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "sms.incoming"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.sms-incoming-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "reply": {
                                    "$ref": "#/components/examples/webhooks.examples.sms-incoming-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.bulk-email-parsing-fail": {
            "post": {
                "summary": "Bulk Mail Webhook de error",
                "description": "El evento `bulk.email.parsing.fail` se env\u00eda cuando se produce un error en el an\u00e1lisis del correo electr\u00f3nico.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "operationId": "bulkEmailParsingFailWebhook",
                "tags": [
                    "bulks"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "bulk.email.parsing.fail"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.bulk-email-parsing-fail-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "invalid_number": {
                                    "$ref": "#/components/examples/webhooks.examples.bulk-email-parsing-fail-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.bulk-email-parsing-success": {
            "post": {
                "summary": "Bulk Mail \u00c9xito",
                "description": "El evento `bulk.email.parsing.success` se env\u00eda al analizar correctamente [Email to SMS Bulk](/#tag/email-to-sms)\ncorreo electr\u00f3nico.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "operationId": "bulkEmailParsingSuccessWebhook",
                "tags": [
                    "bulks"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "bulk.email.parsing.success"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.bulk-email-parsing-success-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "success": {
                                    "$ref": "#/components/examples/webhooks.examples.bulk-email-parsing-success-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.fraud-check-done": {
            "post": {
                "summary": "Fraud Check Completed",
                "description": "Triggered when a Fraud Detection request is completed",
                "operationId": "fraudCheckDoneWebhook",
                "tags": [
                    "fraud-detection"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "fraud-check.done"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.fraud-check-done-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "completed": {
                                    "$ref": "#/components/examples/webhooks.examples.fraud-check-done-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            },
            "description": "El evento `fraud-check.done` se env\u00eda cuando se completa una solicitud de Detecci\u00f3n de Fraude. Para detalles sobre la estructura de respuesta, vea [Fraud Detection API](/#tag/fraud-detection/operation/api_fraud-check_post_collection).\n\n[Notificaciones de webhook](/?l=es/#tag/notifications)"
        },
        "webhooks.sms-email-parsing-success": {
            "post": {
                "summary": "\u00c9xito en el an\u00e1lisis de correo SMS",
                "description": "Se activa cuando el correo electr\u00f3nico a SMS se analiza correctamente",
                "operationId": "webhooks.sms-email-parsing-success",
                "tags": [
                    "sms"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "sms.email.parsing.success"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.sms-email-parsing-success-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "success": {
                                    "$ref": "#/components/examples/webhooks.examples.sms-email-parsing-success-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.sms-email-parsing-fail": {
            "post": {
                "summary": "Error al analizar correo SMS",
                "description": "Se activa cuando falla el an\u00e1lisis de correo electr\u00f3nico a SMS",
                "operationId": "webhooks.sms-email-parsing-fail",
                "tags": [
                    "sms"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "sms.email.parsing.fail"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.sms-email-parsing-fail-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "fail": {
                                    "$ref": "#/components/examples/webhooks.examples.sms-email-parsing-fail-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.phone.unsubscribe": {
            "post": {
                "summary": "Webhook de Cancelaci\u00f3n de Suscripci\u00f3n de Tel\u00e9fono",
                "description": "Se activa cuando un n\u00famero de tel\u00e9fono se da de baja mediante el env\u00edo de un formulario",
                "tags": [
                    "phones"
                ],
                "operationId": "webhooks.phone-unsubscribe-webhook",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "phone.unsubscribe"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.phone-unsubscribe-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "unsubscribe": {
                                    "summary": "Evento de cancelaci\u00f3n de suscripci\u00f3n de tel\u00e9fono",
                                    "value": {
                                        "id": "ef58b437-1319-4b0c-961b-17214cf1cf32",
                                        "data": {
                                            "phone": "+4911113333444",
                                            "user_id": 2,
                                            "created_at": 1757849748,
                                            "campaign_code": "3KCKb5nMD",
                                            "additional_data": {
                                                "reason": {
                                                    "id": 4,
                                                    "label": "Es ist unverst\u00e4ndlich"
                                                },
                                                "additional_text": "zus\u00e4tzlicher Benutzertext mit Erkl\u00e4rung"
                                            },
                                            "short_link_code": "baaIou",
                                            "unsubscribe_request_id": 59
                                        },
                                        "name": "phone.unsubscribe",
                                        "created_at": 1757849748,
                                        "api_version": "2022-05-25",
                                        "attempt_number": 1,
                                        "attempts_total": 4
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.phone.subscribe": {
            "post": {
                "summary": "Webhook de Suscripci\u00f3n de Tel\u00e9fono",
                "description": "Se activa cuando un n\u00famero de tel\u00e9fono se suscribe mediante el env\u00edo de un formulario",
                "tags": [
                    "phones"
                ],
                "operationId": "webhooks.phone-subscribe-webhook",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "phone.subscribe"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.phone-subscribe-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "subscribe": {
                                    "summary": "Evento de suscripci\u00f3n de tel\u00e9fono",
                                    "value": {
                                        "id": "ed18a290-766d-46cf-ab4e-6fa421405fbd",
                                        "data": {
                                            "phone": "+99559122567",
                                            "user_id": 21911,
                                            "created_at": 1757926648,
                                            "campaign_code": "1dkGdCC2xnBc",
                                            "additional_data": [],
                                            "short_link_code": "baaIoP",
                                            "group_id": 123
                                        },
                                        "name": "phone.subscribe",
                                        "created_at": 1757926648,
                                        "api_version": "2022-05-25",
                                        "attempt_number": 1,
                                        "attempts_total": 4
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.verify-code-success": {
            "post": {
                "summary": "C\u00f3digo de verificaci\u00f3n exitoso",
                "description": "El evento `verify_code.success` se activa cuando el c\u00f3digo de verificaci\u00f3n fue entregado exitosamente y el destinatario ha sido verificado.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "tags": [
                    "verify-codes"
                ],
                "operationId": "webhooks.verify-code-success",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "verify_code.success"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.verify-code-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "success": {
                                    "$ref": "#/components/examples/webhooks.examples.verify-code-success-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.verify-code-failed": {
            "post": {
                "summary": "C\u00f3digo de verificaci\u00f3n fallido",
                "description": "El evento `verify_code.failed` se activa cuando la entrega del c\u00f3digo de verificaci\u00f3n ha fallado en todos los canales de la estrategia de enrutamiento.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "tags": [
                    "verify-codes"
                ],
                "operationId": "webhooks.verify-code-failed",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "verify_code.failed"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.verify-code-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "failed": {
                                    "$ref": "#/components/examples/webhooks.examples.verify-code-failed-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.verify-code-channel-updated": {
            "post": {
                "summary": "Canal de c\u00f3digo de verificaci\u00f3n actualizado",
                "description": "El evento `verify_code.channel.updated` se activa cuando el estado del c\u00f3digo de verificaci\u00f3n cambia durante el procesamiento.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "tags": [
                    "verify-codes"
                ],
                "operationId": "webhooks.verify-code-channel-updated",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "verify_code.channel.updated"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.verify-code-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "updated": {
                                    "$ref": "#/components/examples/webhooks.examples.verify-code-channel-updated-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.verify-code-channel-sent": {
            "post": {
                "summary": "Canal de c\u00f3digo de verificaci\u00f3n enviado",
                "description": "El evento `verify_code.channel.sent` se activa cuando el c\u00f3digo de verificaci\u00f3n ha sido enviado a trav\u00e9s de un canal espec\u00edfico.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "tags": [
                    "verify-codes"
                ],
                "operationId": "webhooks.verify-code-channel-sent",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "verify_code.channel.sent"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.verify-code-channel-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "sent": {
                                    "$ref": "#/components/examples/webhooks.examples.verify-code-channel-sent-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.verify-code-channel-success": {
            "post": {
                "summary": "Canal de c\u00f3digo de verificaci\u00f3n exitoso",
                "description": "El evento `verify_code.channel.success` se activa cuando un canal espec\u00edfico ha procesado exitosamente el c\u00f3digo de verificaci\u00f3n.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "tags": [
                    "verify-codes"
                ],
                "operationId": "webhooks.verify-code-channel-success",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "verify_code.channel.success"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.verify-code-channel-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "success": {
                                    "$ref": "#/components/examples/webhooks.examples.verify-code-channel-success-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        },
        "webhooks.verify-code-channel-failed": {
            "post": {
                "summary": "Canal de c\u00f3digo de verificaci\u00f3n fallido",
                "description": "El evento `verify_code.channel.failed` se activa cuando un canal espec\u00edfico no ha podido procesar el c\u00f3digo de verificaci\u00f3n.\n\n[Notificaciones de webhook](/#tag/notifications)",
                "tags": [
                    "verify-codes"
                ],
                "operationId": "webhooks.verify-code-channel-failed",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/webhook.event"
                                    },
                                    {
                                        "properties": {
                                            "name": {
                                                "enum": [
                                                    "verify_code.channel.failed"
                                                ]
                                            },
                                            "data": {
                                                "$ref": "#/components/schemas/schema.webhooks.verify-code-channel-data"
                                            }
                                        }
                                    }
                                ]
                            },
                            "examples": {
                                "failed": {
                                    "$ref": "#/components/examples/webhooks.examples.verify-code-channel-failed-event"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/webhook-200"
                    },
                    "400": {
                        "$ref": "#/components/responses/webhook-400"
                    },
                    "401": {
                        "$ref": "#/components/responses/webhook-401"
                    },
                    "403": {
                        "$ref": "#/components/responses/webhook-403"
                    },
                    "404": {
                        "$ref": "#/components/responses/webhook-404"
                    },
                    "500": {
                        "$ref": "#/components/responses/webhook-500"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "token": {
                "type": "apiKey",
                "in": "header",
                "name": "X-LOX24-AUTH-TOKEN",
                "description": "Despu\u00e9s de iniciar sesi\u00f3n en su cuenta web, puede crear, desactivar o eliminar una o varias claves API en \"Configuraci\u00f3n\", dentro de \"Configuraci\u00f3n de API\"."
            }
        },
        "parameters": {
            "filter.common.page": {
                "name": "page",
                "in": "query",
                "description": "P\u00e1gina actual",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": true,
                "schema": {
                    "type": "integer",
                    "default": 1,
                    "minimum": 1
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.uuid.array": {
                "name": "uuid[]",
                "in": "query",
                "description": "Buscar muchos SMS por los identificadores \u00fanicos",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.uuid.exact": {
                "name": "uuid",
                "in": "query",
                "description": "Buscar un SMS por el identificador \u00fanico",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "order.common.created_at": {
                "name": "_order[created_at]",
                "in": "query",
                "description": "Ordenar por marca de tiempo cuando se cre\u00f3 la entidad",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "order.messages.delivery_at": {
                "name": "_order[delivery_at]",
                "in": "query",
                "description": "Ordenar por fecha y hora en que el mensaje fue/debi\u00f3 ser transmitido a la red m\u00f3vil",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "order.common.processed_at": {
                "name": "_order[processed_at]",
                "in": "query",
                "description": "Ordenar por marca de tiempo cuando la entidad fue cambiada por \u00faltima vez",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "order.bulks.msg_total_count": {
                "name": "_order[msg_total_count]",
                "in": "query",
                "description": "Ordenar por los recuentos totales de los SMS relacionados",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.text.partial": {
                "name": "text",
                "in": "query",
                "description": "*Partial* filtro de texto sin distinci\u00f3n entre may\u00fasculas y min\u00fasculas SMS por el texto del mensaje",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.sender_id.partial": {
                "name": "sender_id",
                "in": "query",
                "description": "*Partial* texto Filtro de SMS sin distinci\u00f3n entre may\u00fasculas y min\u00fasculas por el n\u00famero o el texto del remitente",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.bulks.status_code.exact": {
                "name": "status_code",
                "in": "query",
                "description": "*Exact* filtrar Bulks por el c\u00f3digo de estado",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.bulks.status_code.array": {
                "name": "status_code[]",
                "in": "query",
                "description": "*Exact* filtrar Bulks por los c\u00f3digos de estado",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.common.created_at.exact": {
                "name": "created_at",
                "in": "query",
                "description": "*Exact* filtrar entidades por la fecha de creaci\u00f3n",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.common.created_at.array": {
                "name": "created_at[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar entidades por las marcas de tiempo de creaci\u00f3n",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.delivery_at.exact": {
                "name": "delivery_at",
                "in": "query",
                "description": "*Exact* filtrar SMS por la fecha y hora de entrega",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.delivery_at.array": {
                "name": "delivery_at[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar SMS por las marcas de tiempo de entrega",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.common.processed_at.exact": {
                "name": "processed_at",
                "in": "query",
                "description": "*Exact* filtrar entidades por la fecha y hora de los \u00faltimos cambios",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.common.processed_at.array": {
                "name": "processed_at[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar entidades por las marcas de tiempo de los \u00faltimos cambios",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.bulks.msg_total_count.exact": {
                "name": "msg_total_count",
                "in": "query",
                "description": "*Exact* filtrar Bultos por el recuento total de los SMS en el bulto",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.bulks.msg_total_count.array": {
                "name": "msg_total_count[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar Bulks por los recuentos totales de los SMS relacionados",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.source.exact": {
                "name": "source",
                "in": "query",
                "description": "*Exact* filtrar SMS por las fuentes",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.source.array": {
                "name": "source[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar SMS por las fuentes",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.common.key_id.exact": {
                "name": "key_id",
                "in": "query",
                "description": "*Exact* filtrar entidades por la clave API utilizada",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.common.key_id.array": {
                "name": "key_id[]",
                "in": "query",
                "description": "*Exact* filtrar entidades por las claves API utilizadas",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.is_unicode.boolean": {
                "name": "is_unicode",
                "in": "query",
                "description": "*Boolean* filtrar SMS por el `is_unicode` para distinguir entre mensajes GSM y Unicodes",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "boolean"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.is_dryrun.boolean": {
                "name": "is_dryrun",
                "in": "query",
                "description": "*Boolean* filtrar Bulks por el campo `is_dryrun` para distinguir el tipo de Bulk",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "boolean"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.is_unicode.exists": {
                "name": "exists[is_unicode]",
                "in": "query",
                "description": "*Boolean* y *exists* filtrar Bulks por el campo `is_unicode` para distinguir entre mensajes GSM y Unicode",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "boolean"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "path.bulks.id": {
                "name": "id",
                "in": "path",
                "description": "Bulk ID",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/property.common.uuid"
                },
                "style": "simple",
                "explode": false,
                "allowReserved": false
            },
            "filter.fraud-check.id.exact": {
                "name": "id",
                "in": "query",
                "description": "*Exact* filter by Fraud request ID",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/property.common.uuid"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.fraud-check.id.array": {
                "name": "id[]",
                "in": "query",
                "description": "*Exact* filter by Fraud request ID",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.common.callback_data.partial": {
                "name": "callback_data",
                "in": "query",
                "description": "*Partitial* filtrar entidades por el `callback_data`",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.fraud-check.request_phone.phone.partial": {
                "name": "request_phone.phone",
                "in": "query",
                "description": "*Partial* filter by the request's phone value",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.fraud-check.request_email.email.partial": {
                "name": "request_email.email",
                "in": "query",
                "description": "*Partial* filter by the request's email value",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.fraud-check.request_ip.ip.partial": {
                "name": "request_ip.ip",
                "in": "query",
                "description": "*Partial* filter by the request's IP value",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.fraud-check.status_code.exact": {
                "name": "status_code",
                "in": "query",
                "description": "*Exact* filter Fraud requests by the status code",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.fraud-check.status_code.array": {
                "name": "status_code[]",
                "in": "query",
                "description": "*Exact* filter Fraud requests by the status codes",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "path.fraud-check.id": {
                "name": "id",
                "in": "path",
                "description": "Fraud Check request ID",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/property.common.uuid"
                },
                "style": "simple",
                "explode": false,
                "allowReserved": false
            },
            "path.groups.id": {
                "name": "id",
                "in": "path",
                "description": "ID del grupo",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer",
                    "minimum": 0
                },
                "style": "simple",
                "explode": false,
                "allowReserved": false
            },
            "order.incomings.received_at": {
                "name": "_order[received_at]",
                "in": "query",
                "description": "Ordenar por fecha y hora de recepci\u00f3n del SMS entrante",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.incomings.from": {
                "name": "from",
                "in": "query",
                "description": "*Partial* filtro de texto que no distingue may\u00fasculas de min\u00fasculas por n\u00famero de tel\u00e9fono del remitente",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.incomings.to": {
                "name": "to",
                "in": "query",
                "description": "*Partial* filtro de texto sensible a may\u00fasculas y min\u00fasculas por n\u00famero de tel\u00e9fono de entrada",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.incomings.msg_uuid": {
                "name": "msg_uuid",
                "in": "query",
                "description": "*Exact* filtrar por ID de SMS inicial",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.incomings.msg_uuid.array": {
                "name": "msg_uuid[]",
                "in": "query",
                "description": "*Exact* filtrar por ID de SMS inicial",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "path.incomings.id": {
                "name": "uuid",
                "in": "path",
                "required": true,
                "deprecated": false,
                "schema": {
                    "$ref": "#/components/schemas/property.common.uuid"
                },
                "description": "ID del mensaje entrante"
            },
            "path.phones.id": {
                "name": "id",
                "in": "path",
                "description": "Identificador del tel\u00e9fono",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer",
                    "minimum": 0
                },
                "style": "simple",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link.name.partial": {
                "name": "name",
                "in": "query",
                "description": "Filtrar enlaces cortos por nombre (coincidencia parcial)",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.url.partial": {
                "name": "url",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a destination URL",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.type.exact": {
                "name": "type",
                "in": "query",
                "description": "*Exact* filter short links by type (exact match)",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.type.array": {
                "name": "type[]",
                "in": "query",
                "description": "*Range* filter short links by type (array of values)",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "path.short_link_campaigns.code": {
                "name": "code",
                "in": "path",
                "description": "short_link_campaigns code",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "simple",
                "explode": false,
                "allowReserved": false
            },
            "order.short_link_request.date": {
                "name": "_order[date]",
                "in": "query",
                "description": "Sort a list by 'date' property",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.ip.partial": {
                "name": "ip",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a IP address",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.user_agent.partial": {
                "name": "user_agent",
                "in": "query",
                "description": "*Partial* filter short links by user agent (partial match)",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.common.country.exact": {
                "name": "country",
                "in": "query",
                "description": "*Exact* filtrar entidades por el c\u00f3digo de pa\u00eds",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.common.country.array": {
                "name": "country[]",
                "in": "query",
                "description": "*Exact* filtrar entidades por los c\u00f3digos de pa\u00eds",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.short_link_request.referer.partial": {
                "name": "referer",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a referer",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.date.exact": {
                "name": "date",
                "in": "query",
                "description": "*Exact* filter short link requests by exact date",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.date.array": {
                "name": "date[]",
                "in": "query",
                "description": "*Exact* filter short link requests by date (array of values)",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.short_link_request.browser.partial": {
                "name": "browser",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a browser name",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.os.partial": {
                "name": "os",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a operation system name",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.os_version.partial": {
                "name": "os_version",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a operation system version",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.software_type.partial": {
                "name": "software_type",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a software type",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.hardware_type.partial": {
                "name": "hardware_type",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a hardware type",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.date.between": {
                "name": "date[between]",
                "in": "query",
                "description": "*Range* filter short link requests by date range",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.date.gt": {
                "name": "date[gt]",
                "in": "query",
                "description": "Filtrar solicitudes de enlaces cortos por fecha mayor que",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.date.gte": {
                "name": "date[gte]",
                "in": "query",
                "description": "Filtrar solicitudes de enlaces cortos por fecha mayor o igual que",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.date.lt": {
                "name": "date[lt]",
                "in": "query",
                "description": "Filtrar solicitudes de enlaces cortos por fecha menor que",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.date.lte": {
                "name": "date[lte]",
                "in": "query",
                "description": "Filtrar solicitudes de enlaces cortos por fecha menor o igual que",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.short_link_request.browser_version.partial": {
                "name": "browser_version",
                "in": "query",
                "description": "*Partial* case-insensitive text filter by a browser version",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "path.short_link_requests.id": {
                "name": "id",
                "in": "path",
                "description": "ID de solicitud de enlace corto",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "simple",
                "explode": false,
                "allowReserved": false
            },
            "path.short_links.shortCode": {
                "name": "shortCode",
                "in": "path",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "explode": false,
                "allowReserved": false,
                "schema": {
                    "type": "string"
                },
                "description": "C\u00f3digo de enlace corto"
            },
            "path.sms.uuid": {
                "name": "uuid",
                "in": "path",
                "required": true,
                "deprecated": false,
                "schema": {
                    "type": "string"
                },
                "description": "SMS ID (`uuid`)"
            },
            "order.common.updated_at": {
                "name": "_order[updated_at]",
                "in": "query",
                "description": "Ordenar una lista por la propiedad 'updated_at'",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.common.updated_at.exact": {
                "name": "updated_at",
                "in": "query",
                "description": "*Exact* filtrar entidades por la marca de tiempo de la \u00faltima actualizaci\u00f3n",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.common.updated_at.array": {
                "name": "updated_at[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar entidades por las marcas de tiempo de la \u00faltima actualizaci\u00f3n",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "order.messages.gateway_sent_at": {
                "name": "_order[gateway_sent_at]",
                "in": "query",
                "description": "Ordenar por fecha y hora de transmisi\u00f3n del mensaje a la red m\u00f3vil",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "$ref": "#/components/schemas/order.ordering"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.is_sent.boolean": {
                "name": "is_sent",
                "in": "query",
                "description": "*Boolean* filtrar SMS por el `is_sent` campo para distinguir entre sms ya enviados y a\u00fan no enviados",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "boolean"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.iso2.exact": {
                "name": "iso2",
                "in": "query",
                "description": "*Exact* filtrar los SMS seg\u00fan el pa\u00eds del telefono ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.iso2.array": {
                "name": "iso2[]",
                "in": "query",
                "description": "*Exact* filtrar SMS por pa\u00edses del tel\u00e9fono ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.dlr_code.exact": {
                "name": "dlr_code",
                "in": "query",
                "description": "*Exact* filtrar SMS por el estado del informe de entrega",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.dlr_code.array": {
                "name": "dlr_code[]",
                "in": "query",
                "description": "*Exact* filtrar SMS por los estados del informe de entrega",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.status_code.exact": {
                "name": "status_code",
                "in": "query",
                "description": "*Exact* filtrar SMS por el c\u00f3digo de estado",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.status_code.array": {
                "name": "status_code[]",
                "in": "query",
                "description": "*Exact* filtrar SMS por los c\u00f3digos de estado",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.gateway_sent_at.exact": {
                "name": "gateway_sent_at",
                "in": "query",
                "description": "*Exact* filtrar SMS por la fecha y hora de env\u00edo a la pasarel",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.gateway_sent_at.array": {
                "name": "gateway_sent_at[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar SMS por marcas de tiempo de env\u00edo a pasarela",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.chars_count.exact": {
                "name": "chars_count",
                "in": "query",
                "description": "*Range* filtrar SMS por el n\u00famero de caracteres del mensaje",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.chars_count.array": {
                "name": "chars_count[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar SMS por el n\u00famero de caracteres del mensaje",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.parts_count.exact": {
                "name": "parts_count",
                "in": "query",
                "description": "*Exact* filter SMS por el recuento de partes del mensaje",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.parts_count.array": {
                "name": "parts_count[]",
                "in": "query",
                "description": "*Exact* and *range* filtrar SMS por el recuento de partes del mensaje",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.bulk.exact": {
                "name": "bulk",
                "in": "query",
                "description": "*Exact* filtrar SMS por el Bulk",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.bulk.array": {
                "name": "bulk[]",
                "in": "query",
                "description": "*Exact* y *range* filtrar SMS por el Bulk",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.messages.phone.partial": {
                "name": "phone",
                "in": "query",
                "description": "*Partial* text filter SMS by the phone number",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.ip.partial": {
                "name": "ip",
                "in": "query",
                "description": "*Partial* filtro de texto SMS por la IP que cre\u00f3 el mensaje",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.callback_data.exact": {
                "name": "callback_data",
                "in": "query",
                "description": "*Exact* filrar por SMS `callback_data` propiedad",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.messages.callback_data.array": {
                "name": "callback_data[]",
                "in": "query",
                "description": "*Exact* filtrar por SMS `callback_data` propiedad",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "style": "form",
                "explode": true,
                "allowReserved": false
            },
            "filter.blocked_numbers.number.exact": {
                "name": "number",
                "in": "query",
                "description": "Filtrar por n\u00famero de tel\u00e9fono exacto",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": true,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "filter.blocked_numbers.type.exact": {
                "name": "type",
                "in": "query",
                "description": "Filtrar por tipo exacto de n\u00famero bloqueado",
                "required": false,
                "deprecated": false,
                "allowEmptyValue": true,
                "schema": {
                    "type": "string"
                },
                "style": "form",
                "explode": false,
                "allowReserved": false
            },
            "path.blocked_numbers.id": {
                "name": "id",
                "in": "path",
                "description": "ID de n\u00famero bloqueado",
                "required": true,
                "deprecated": false,
                "allowEmptyValue": false,
                "schema": {
                    "type": "integer",
                    "minimum": 0
                },
                "style": "simple",
                "explode": false,
                "allowReserved": false
            }
        },
        "schemas": {
            "order.ordering": {
                "type": "string",
                "default": "asc",
                "enum": [
                    "asc",
                    "desc"
                ]
            },
            "property._jsonld_id": {
                "readOnly": true,
                "type": "string",
                "description": "JSON-LD ID"
            },
            "property._jsonld_type": {
                "readOnly": true,
                "type": "string",
                "description": "JSON-LD type"
            },
            "property._jsonld_context": {
                "readOnly": true,
                "oneOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "@vocab": {
                                "type": "string"
                            },
                            "hydra": {
                                "type": "string",
                                "enum": [
                                    "http://www.w3.org/ns/hydra/core#"
                                ]
                            }
                        },
                        "required": [
                            "@vocab",
                            "hydra"
                        ],
                        "additionalProperties": true
                    }
                ],
                "description": "JSON-LD context"
            },
            "property.common.uuid": {
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                "type": "string",
                "description": "UUID \u00fanico de entidad"
            },
            "property.messages.delivery_at": {
                "type": "integer",
                "minimum": 0,
                "description": "Unix-timestamp de una entrega programada. Si 0 SMS se entrega inmediatamente."
            },
            "property.bulks.status_code": {
                "type": "integer",
                "enum": [
                    0,
                    5,
                    10,
                    15,
                    20,
                    201
                ],
                "description": "Estados del Bulk:\n- `0` - nuevo y no procesado\n- `5` - bulks en progreso\n- `10` - bulks fueron pocesados exitosamente\n- `15` - bulk el tratamiento fue cancelado por el usuario\n- `20` - Error de sistema\n- `201` - error: no se han encontrado destinatarios"
            },
            "property.bulks.msg_total_count": {
                "type": "integer",
                "minimum": 0,
                "description": "Recuento de los mensajes creados por el bulk"
            },
            "property.messages.processed_at": {
                "type": [
                    "integer",
                    "null"
                ],
                "minimum": 0,
                "description": "Fecha de los \u00faltimos cambios"
            },
            "property.common.ip_read": {
                "type": "string",
                "format": "ipv4",
                "description": "Direcci\u00f3n IP del host que envi\u00f3 la solicitud",
                "example": "192.168.1.1"
            },
            "property.messages.is_unicode": {
                "type": [
                    "boolean",
                    "null"
                ],
                "description": "Define si desea enviar un SMS GSM 03.38 normal (160 caracteres) o un texto Unicode para transferir caracteres como cir\u00edlico, \u00e1rabe, chino y japon\u00e9s (70 caracteres). Si no define este par\u00e1metro (null), nuestro sistema determinar\u00e1 autom\u00e1ticamente la codificaci\u00f3n correcta para su texto.\n\n- GSM: is_unicode = false\n- Unicode: is_unicode = true\n- Auto-detect: is_unicode = null"
            },
            "property.messages.is_dryrun": {
                "type": "boolean",
                "description": "Tipo de bulk 'dryrun' o no"
            },
            "property.messages.service_code": {
                "enum": [
                    "direct",
                    "text2speech",
                    "text2speech_ssml"
                ],
                "description": "El c\u00f3digo de servicio define si env\u00eda un sms directo o text2speech. Recomendamos directo (see [/me](/info/user/))"
            },
            "property.common.key_id": {
                "type": "integer",
                "minimum": 1,
                "description": "Identificador de clave API"
            },
            "property.messages.source": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Para realizar un mejor seguimiento de tus SMS en la factura detallada, puedes utilizar el par\u00e1metro de origen para asignar un ID num\u00e9rico (entero) a tus SMS."
            },
            "property.messages.voice_lang": {
                "enum": [
                    "EN",
                    "DE",
                    "FR",
                    "IT",
                    "ES",
                    "PL",
                    "NL",
                    "RO",
                    "PT",
                    "CS",
                    "HU",
                    "SV",
                    "DA",
                    "FI",
                    "SK",
                    "HR",
                    "TR",
                    "RU",
                    "BG",
                    "UK",
                    null
                ],
                "type": [
                    "string",
                    "null"
                ],
                "description": "Idioma del mensaje de voz. Valores posibles: `null` ([detecci\u00f3n autom\u00e1tica](/info/ssml-language-detection/)) o uno de: EN (ingl\u00e9s), DE (alem\u00e1n), FR (franc\u00e9s), IT (italiano), ES (espa\u00f1ol), PL (polaco), NL (neerland\u00e9s), RO (rumano), PT (portugu\u00e9s), CS (checo), HU (h\u00fangaro), SV (sueco), DA (dan\u00e9s), FI (fin\u00e9s), SK (eslovaco), HR (croata), TR (turco), RU (ruso), BG (b\u00falgaro), UK (ucraniano)."
            },
            "property.messages.is_text_deleted": {
                "type": "boolean",
                "description": "Borrar texto SMS de la base de datos despu\u00e9s de enviar SMS"
            },
            "property.bulks.msg_total_cost": {
                "type": "integer",
                "minimum": 0,
                "description": "Coste de los mensajes creados por el bulk"
            },
            "schema.bulks.jsonld-bulk_read_status": {
                "type": "object",
                "description": "",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "delivery_at": {
                        "$ref": "#/components/schemas/property.messages.delivery_at"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.bulks.status_code"
                    },
                    "msg_total_count": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_count"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "processed_at": {
                        "$ref": "#/components/schemas/property.messages.processed_at"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.common.ip_read"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "is_dryrun": {
                        "$ref": "#/components/schemas/property.messages.is_dryrun"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.messages.service_code"
                    },
                    "key_id": {
                        "$ref": "#/components/schemas/property.common.key_id"
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "voice_lang": {
                        "$ref": "#/components/schemas/property.messages.voice_lang"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.messages.is_text_deleted"
                    },
                    "msg_total_cost": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_cost"
                    }
                }
            },
            "hydra.totalItems": {
                "type": "integer",
                "minimum": 0
            },
            "hydra.view": {
                "type": "object",
                "properties": {
                    "@id": {
                        "type": "string",
                        "format": "iri-reference"
                    },
                    "@type": {
                        "type": "string"
                    },
                    "hydra:first": {
                        "type": "string",
                        "format": "iri-reference"
                    },
                    "hydra:last": {
                        "type": "string",
                        "format": "iri-reference"
                    },
                    "hydra:previous": {
                        "type": "string",
                        "format": "iri-reference"
                    },
                    "hydra:next": {
                        "type": "string",
                        "format": "iri-reference"
                    }
                },
                "example": {
                    "@id": "string",
                    "@type": "string",
                    "hydra:first": "string",
                    "hydra:last": "string",
                    "hydra:previous": "string",
                    "hydra:next": "string"
                }
            },
            "hydra.search": {
                "type": "object",
                "properties": {
                    "@type": {
                        "type": "string"
                    },
                    "hydra:template": {
                        "type": "string"
                    },
                    "hydra:variableRepresentation": {
                        "type": "string"
                    },
                    "hydra:mapping": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "@type": {
                                    "type": "string"
                                },
                                "variable": {
                                    "type": "string"
                                },
                                "property": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "required": {
                                    "type": "boolean"
                                }
                            }
                        }
                    }
                }
            },
            "schema.bulks-bulk_read_status": {
                "type": "object",
                "description": "",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "delivery_at": {
                        "$ref": "#/components/schemas/property.messages.delivery_at"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.bulks.status_code"
                    },
                    "msg_total_count": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_count"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "processed_at": {
                        "$ref": "#/components/schemas/property.messages.processed_at"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.common.ip_read"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "is_dryrun": {
                        "$ref": "#/components/schemas/property.messages.is_dryrun"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.messages.service_code"
                    },
                    "key_id": {
                        "$ref": "#/components/schemas/property.common.key_id"
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "voice_lang": {
                        "$ref": "#/components/schemas/property.messages.voice_lang"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.messages.is_text_deleted"
                    },
                    "msg_total_cost": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_cost"
                    }
                }
            },
            "property.common.phone_number": {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{1,14}$",
                "minLength": 4,
                "maxLength": 16,
                "description": "N\u00famero de destinatario (internacional):\n- +491701234567 (E.164)\n- 00491701234567\n- 491701234567\n- 01701234567 (si la cuenta est\u00e1 registrada en Alemania) se convertir\u00e1 en +491701234567\n\nSi el n\u00famero no est\u00e1 en formato E.164, el servicio lo convertir\u00e1 bas\u00e1ndose en la direcci\u00f3n del usuario. Para evitar problemas con la conversi\u00f3n, utilice preferentemente E.164.",
                "example": "+14155552671"
            },
            "property.bulks.phones": {
                "type": [
                    "array",
                    "null"
                ],
                "items": {
                    "$ref": "#/components/schemas/property.common.phone_number"
                },
                "description": "Lista de los n\u00fameros (internacionales) de los destinatarios:\n- +491701234567 (E.164)\n- 00491701234567\n- 491701234567\n- 01701234567 (si la cuenta est\u00e1 registrada en Alemania) se convertir\u00e1 en +491701234567\n\nSi el n\u00famero no est\u00e1 en formato E.164, el servicio lo convertir\u00e1 bas\u00e1ndose en la direcci\u00f3n del usuario. Para evitar problemas con la conversi\u00f3n, utilice preferentemente E.164."
            },
            "property.bulks.msg_groups": {
                "type": [
                    "array",
                    "null"
                ],
                "items": {
                    "type": "integer"
                },
                "description": "Lista de los grupos destinatarios"
            },
            "property.messages.sender_id": {
                "type": "string",
                "pattern": "^(\\+?[1-9]\\d{0,14}|[a-zA-Z0-9 ]{1,11})$",
                "description": "ID del remitente del mensaje. Puede ser un n\u00famero (hasta 15 d\u00edgitos) o un texto (hasta 11 caracteres).\nSi se trata de un n\u00famero, utilice preferentemente el formato de n\u00famero de tel\u00e9fono E.164. Un remitente de texto puede contener espacios pero no otros caracteres especiales. Tenga en cuenta que algunos pa\u00edses no admiten identificadores de remitente propios o exigen un registro previo. Nuestro sistema intenta detectar autom\u00e1ticamente si un ID de remitente es un texto o un n\u00famero de tel\u00e9fono. Evite los caracteres especiales en un n\u00famero e introd\u00fazcalo de la misma forma que se marcar\u00eda en un tel\u00e9fono.",
                "examples": [
                    "+491701234567",
                    "491701234567",
                    "MyCompany",
                    "SMS Service"
                ]
            },
            "property.bulks.text": {
                "maxLength": 1785,
                "type": "string",
                "description": "La longitud m\u00e1xima del texto es de 1785 caracteres. Pero no olvides que el texto final del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud m\u00e1xima de caracteres se reduce a 670 caracteres. La codificaci\u00f3n interna es UTF-8."
            },
            "schema.bulks-bulk_write": {
                "type": "object",
                "description": "",
                "deprecated": false,
                "properties": {
                    "delivery_at": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.delivery_at"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "sender_id": {
                        "$ref": "#/components/schemas/property.messages.sender_id"
                    },
                    "text": {
                        "$ref": "#/components/schemas/property.bulks.text"
                    },
                    "phones": {
                        "$ref": "#/components/schemas/property.bulks.phones"
                    },
                    "msg_groups": {
                        "$ref": "#/components/schemas/property.bulks.msg_groups"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "service_code": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.service_code"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "voice_lang": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.voice_lang"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "is_text_deleted": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.is_text_deleted"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "sender_id",
                    "text"
                ],
                "oneOf": [
                    {
                        "required": [
                            "phones"
                        ],
                        "properties": {
                            "phones": {
                                "$ref": "#/components/schemas/property.bulks.phones"
                            }
                        }
                    },
                    {
                        "required": [
                            "msg_groups"
                        ],
                        "properties": {
                            "msg_groups": {
                                "$ref": "#/components/schemas/property.bulks.msg_groups"
                            }
                        }
                    }
                ]
            },
            "property.common.created_at": {
                "type": "integer",
                "minimum": 0,
                "description": "Fecha en la que se a\u00f1adi\u00f3 la entidad al sistema por el usuario"
            },
            "schema.bulks.jsonld-bulk_read": {
                "type": "object",
                "description": "",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "delivery_at": {
                        "$ref": "#/components/schemas/property.messages.delivery_at"
                    },
                    "sender_id": {
                        "$ref": "#/components/schemas/property.messages.sender_id"
                    },
                    "text": {
                        "$ref": "#/components/schemas/property.bulks.text"
                    },
                    "phones": {
                        "$ref": "#/components/schemas/property.bulks.phones"
                    },
                    "msg_groups": {
                        "$ref": "#/components/schemas/property.bulks.msg_groups"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.bulks.status_code"
                    },
                    "msg_total_count": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_count"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "processed_at": {
                        "$ref": "#/components/schemas/property.messages.processed_at"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.common.ip_read"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "is_dryrun": {
                        "$ref": "#/components/schemas/property.messages.is_dryrun"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.messages.service_code"
                    },
                    "key_id": {
                        "$ref": "#/components/schemas/property.common.key_id"
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "voice_lang": {
                        "$ref": "#/components/schemas/property.messages.voice_lang"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.messages.is_text_deleted"
                    },
                    "msg_total_cost": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_cost"
                    }
                }
            },
            "schema.bulks-bulk_read": {
                "type": "object",
                "description": "",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "delivery_at": {
                        "$ref": "#/components/schemas/property.messages.delivery_at"
                    },
                    "sender_id": {
                        "$ref": "#/components/schemas/property.messages.sender_id"
                    },
                    "text": {
                        "$ref": "#/components/schemas/property.bulks.text"
                    },
                    "phones": {
                        "$ref": "#/components/schemas/property.bulks.phones"
                    },
                    "msg_groups": {
                        "$ref": "#/components/schemas/property.bulks.msg_groups"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.bulks.status_code"
                    },
                    "msg_total_count": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_count"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "processed_at": {
                        "$ref": "#/components/schemas/property.messages.processed_at"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.common.ip_read"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "is_dryrun": {
                        "$ref": "#/components/schemas/property.messages.is_dryrun"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.messages.service_code"
                    },
                    "key_id": {
                        "$ref": "#/components/schemas/property.common.key_id"
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "voice_lang": {
                        "$ref": "#/components/schemas/property.messages.voice_lang"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.messages.is_text_deleted"
                    },
                    "msg_total_cost": {
                        "$ref": "#/components/schemas/property.bulks.msg_total_cost"
                    }
                }
            },
            "property.user_info.id": {
                "type": "integer",
                "minimum": 1,
                "description": "ID del usuario actual"
            },
            "property.common.currency": {
                "type": "string",
                "enum": [
                    "EUR",
                    "CHF"
                ],
                "default": "EUR",
                "description": "Moneda"
            },
            "property.user_info.balance_changed_at": {
                "type": "integer",
                "minimum": 0,
                "description": "Marca de tiempo cuando se cambi\u00f3 el saldo"
            },
            "property.user_info.is_text_deleted": {
                "type": "boolean",
                "description": "Par\u00e1metro global para eliminar textos de mensajes despu\u00e9s del env\u00edo"
            },
            "property.user_info.balance_amount": {
                "type": "number",
                "description": "Cantidad del saldo"
            },
            "property.user_info.services": {
                "type": "array",
                "items": {
                    "type": "string",
                    "enum": [
                        "economy",
                        "pro",
                        "text2speech",
                        "text2speech_ssml",
                        "direct"
                    ]
                },
                "description": "Lista de los c\u00f3digos de servicios disponibles"
            },
            "property.user_info.groups": {
                "type": "object",
                "additionalProperties": {
                    "type": "string",
                    "pattern": "^/groups/[0-9]+$",
                    "example": "/groups/24512"
                },
                "example": {
                    "24512": "/groups/24512",
                    "24513": "/groups/24513",
                    "24519": "/groups/24519"
                },
                "description": "Objeto con IDs de grupo como claves y sus URIs de endpoint correspondientes como valores"
            },
            "schema.client.jsonld-get": {
                "type": "object",
                "description": "Info about your user's account",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.user_info.id"
                    },
                    "currency": {
                        "$ref": "#/components/schemas/property.common.currency"
                    },
                    "balance_changed_at": {
                        "$ref": "#/components/schemas/property.user_info.balance_changed_at"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.user_info.is_text_deleted"
                    },
                    "balance_amount": {
                        "$ref": "#/components/schemas/property.user_info.balance_amount"
                    },
                    "services": {
                        "$ref": "#/components/schemas/property.user_info.services"
                    },
                    "groups": {
                        "$ref": "#/components/schemas/property.user_info.groups"
                    }
                }
            },
            "schema.client-get": {
                "type": "object",
                "description": "Info about your user's account",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.user_info.id"
                    },
                    "currency": {
                        "$ref": "#/components/schemas/property.common.currency"
                    },
                    "balance_changed_at": {
                        "$ref": "#/components/schemas/property.user_info.balance_changed_at"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.user_info.is_text_deleted"
                    },
                    "balance_amount": {
                        "$ref": "#/components/schemas/property.user_info.balance_amount"
                    },
                    "services": {
                        "$ref": "#/components/schemas/property.user_info.services"
                    },
                    "groups": {
                        "$ref": "#/components/schemas/property.user_info.groups"
                    }
                }
            },
            "schema.pricelist": {
                "oneOf": [
                    {
                        "type": "object",
                        "description": "Single country response",
                        "properties": {
                            "country": {
                                "type": "string",
                                "description": "ISO-2 country code"
                            },
                            "name": {
                                "type": "string",
                                "description": "Human-readable country name in the requested language"
                            },
                            "currency": {
                                "type": "string",
                                "enum": [
                                    "EUR",
                                    "CHF"
                                ],
                                "description": "Price currency"
                            },
                            "requirements": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Country-specific requirements for sending SMS"
                            },
                            "rates": {
                                "type": "object",
                                "description": "Price rates keyed by service code",
                                "additionalProperties": {
                                    "type": "array",
                                    "items": {
                                        "type": "number"
                                    },
                                    "description": "S, M, L, XL rate tiers"
                                }
                            }
                        }
                    },
                    {
                        "type": "array",
                        "description": "All countries response",
                        "items": {
                            "type": "object",
                            "properties": {
                                "country": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                },
                                "currency": {
                                    "type": "string"
                                },
                                "requirements": {
                                    "type": [
                                        "object",
                                        "null"
                                    ]
                                },
                                "rates": {
                                    "type": "object",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "number"
                                        }
                                    }
                                }
                            }
                        }
                    }
                ],
                "properties": {
                    "country": {
                        "description": "C\u00f3digo de pa\u00eds ISO-2"
                    },
                    "name": {
                        "description": "Nombre del pa\u00eds"
                    },
                    "currency": {
                        "description": "Moneda"
                    },
                    "requirements": {
                        "description": "Requisitos espec\u00edficos del pa\u00eds para el env\u00edo de SMS"
                    },
                    "rates": {
                        "description": "Tarifas por c\u00f3digo de servicio (niveles S, M, L, XL)"
                    }
                }
            },
            "property.fraud-check.status_code": {
                "type": "integer",
                "enum": [
                    0,
                    5,
                    10,
                    20,
                    21,
                    1000
                ],
                "description": "Request processing status codes:\n- 0 \u2013 new request and not processed yet\n- 5 \u2013 request's processing in progress\n- 10 \u2013 request's processing completed successfully\n- 20 - request's processing completed with error: not enough credits\n- 21 - request's processing completed with error: invalid data\n- 1000 - request's processing completed with error: unexpected error"
            },
            "property.fraud-check.risk_score": {
                "type": "number",
                "minimum": 0,
                "maximum": 100,
                "description": "Fraud risk score from 0 (good) to 100 (bad)"
            },
            "property.fraud-check.service_code": {
                "type": "string",
                "enum": [
                    "economy",
                    "pro",
                    "direct"
                ],
                "description": "Service code defines the type of fraud query you make. Economy contains only a risk value, while Pro and Direct contain more details about the results, so you can make your own decision. Direct queries are also processed with priority. (see [/me](/info/user/))"
            },
            "property.common.updated_at": {
                "readOnly": true,
                "type": "integer",
                "minimum": 0,
                "description": "Fecha en que se modific\u00f3 la entidad"
            },
            "property.common.callback_data": {
                "maxLength": 36,
                "type": [
                    "string",
                    "null"
                ],
                "description": "Valor (String) que se env\u00eda de vuelta a su endpoint. Por ejemplo, puede pasar su propio ID de esta forma y recibirlo de vuelta con el informe de entrega (DLR)."
            },
            "property.fraud-check-phone.is_possible": {
                "type": "boolean",
                "description": "Is phone number possible"
            },
            "property.fraud-check-phone.is_valid": {
                "type": "boolean",
                "description": "Is phone number valid"
            },
            "property.common.country_code": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "minLength": 2,
                "maxLength": 2,
                "description": "C\u00f3digo del pa\u00eds",
                "examples": [
                    "US",
                    "CA",
                    "GB",
                    "DE",
                    "FR"
                ]
            },
            "property.fraud-check-phone.number_type": {
                "type": "string",
                "description": "Phone number type"
            },
            "schema.fraud-check-phone.jsonld-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request phone number",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "phone": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "is_possible": {
                        "$ref": "#/components/schemas/property.fraud-check-phone.is_possible"
                    },
                    "is_valid": {
                        "$ref": "#/components/schemas/property.fraud-check-phone.is_valid"
                    },
                    "region": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "number_type": {
                        "$ref": "#/components/schemas/property.fraud-check-phone.number_type"
                    }
                },
                "required": [
                    "phone"
                ]
            },
            "property.fraud-check-email.email": {
                "format": "email",
                "minLength": 6,
                "maxLength": 500,
                "externalDocs": {
                    "url": "https://schema.org/email"
                },
                "type": "string",
                "description": "An email address sent to check"
            },
            "property.fraud-check-email.is_possible": {
                "type": "boolean",
                "description": "Is this email possible or not"
            },
            "property.fraud-check-email.is_anonymous": {
                "type": "boolean",
                "description": "Is the service used to anonymize the sender of the email"
            },
            "schema.fraud-check-email.jsonld-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request email",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "email": {
                        "$ref": "#/components/schemas/property.fraud-check-email.email"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "is_possible": {
                        "$ref": "#/components/schemas/property.fraud-check-email.is_possible"
                    },
                    "is_anonymous": {
                        "$ref": "#/components/schemas/property.fraud-check-email.is_anonymous"
                    }
                },
                "required": [
                    "email"
                ]
            },
            "property.fraud-check.ip": {
                "type": "string",
                "minLength": 7,
                "maxLength": 39,
                "description": "IP address (IP v4/v6)"
            },
            "property.fraud-check-ip.city": {
                "type": "string",
                "description": "The city name of the IP address"
            },
            "property.fraud-check-ip.postcode": {
                "type": "string",
                "description": "The zip or post code of the IP address"
            },
            "property.fraud-check-ip.geolocation": {
                "type": "array",
                "items": {
                    "type": "number"
                },
                "description": "The latitude,longitude of the IP address (array)"
            },
            "property.fraud-check-ip.isp_name": {
                "type": "string",
                "description": "The name of the ISP"
            },
            "property.fraud-check-ip.isp_risk_score": {
                "type": "number",
                "minimum": 0,
                "maximum": 100,
                "description": "Risk score for the ISP"
            },
            "property.fraud-check-ip.proxy_type": {
                "type": "string",
                "enum": [
                    "VPN",
                    "TOR",
                    "DCH",
                    "PUB",
                    "WEB",
                    "SES"
                ],
                "description": "If host is proxy:\n- VPN \u2013 Anonymizing VPN services. These services offer users a publicly accessible VPN for the purpose of hiding their IP address.\n- TOR \u2013 Tor Exit Nodes. The Tor Project is an open network used by those who wish to maintain anonymity.\n- DCH \u2013 Hosting Provider, Data Centre or Content Delivery Network. Since hosting providers and data centres can serve to provide anonymity, the Anonymous IP database flags IP addresses associated with them.\n- PUB \u2013 Public Proxies. These are services which make connection requests on a user's behalf. Proxy server software can be configured by the administrator to listen on some specified port. These differ from VPNs in that the proxies usually have limited functions compare to VPNs.\n- WEB \u2013 Web Proxies. These are web services which make web requests on a user's behalf. These differ from VPNs or Public Proxies in that they are simple web-based proxies rather than operating at the IP address and other ports level.\n- SES \u2013 Search Engine Robots. These are services which perform crawling or scraping to a website, such as, the search engine spider or bots engine."
            },
            "property.fraud-check-ip.connection_type": {
                "type": [
                    "string",
                    "null"
                ],
                "enum": [
                    "dialup",
                    "isdn",
                    "cable",
                    "dsl",
                    "fttx",
                    "wireless",
                    null
                ],
                "description": "The values can be one of either: \"dialup\", \"isdn\", \"cable\", \"dsl\", \"fttx\", \"wireless\" or null"
            },
            "property.fraud-check-ip.is_ok": {
                "type": "boolean",
                "description": "Was the request handled correctly?"
            },
            "schema.fraud-check-ip.jsonld-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request IP address",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.fraud-check.ip"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "iso2": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "state": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "city": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.city"
                    },
                    "postcode": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.postcode"
                    },
                    "geolocation": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.geolocation"
                    },
                    "isp_name": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.isp_name"
                    },
                    "isp_risk_score": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.isp_risk_score"
                    },
                    "proxy_type": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.proxy_type"
                    },
                    "connection_type": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.connection_type"
                    },
                    "is_ok": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.is_ok"
                    }
                },
                "required": [
                    "ip"
                ]
            },
            "property.fraud-check-address.status_code": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "The request status"
            },
            "property.fraud-check-address.city": {
                "minLength": 2,
                "maxLength": 100,
                "type": [
                    "string",
                    "null"
                ],
                "description": "The city name of the address"
            },
            "property.fraud-check-address.postcode": {
                "minLength": 3,
                "maxLength": 20,
                "type": [
                    "string",
                    "null"
                ],
                "description": "The zip or post code of the address"
            },
            "property.fraud-check-address.street_number": {
                "minLength": 1,
                "maxLength": 30,
                "type": [
                    "string",
                    "null"
                ],
                "description": "The number of house"
            },
            "property.fraud-check-address.street_name": {
                "minLength": 2,
                "maxLength": 255,
                "type": [
                    "string",
                    "null"
                ],
                "description": "The street name"
            },
            "schema.fraud-check-address.jsonld-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request address",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check-address.status_code"
                    },
                    "iso2": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "city": {
                        "$ref": "#/components/schemas/property.fraud-check-address.city"
                    },
                    "postcode": {
                        "$ref": "#/components/schemas/property.fraud-check-address.postcode"
                    },
                    "street_number": {
                        "$ref": "#/components/schemas/property.fraud-check-address.street_number"
                    },
                    "street_name": {
                        "$ref": "#/components/schemas/property.fraud-check-address.street_name"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    }
                },
                "required": [
                    "iso2",
                    "city",
                    "street_name"
                ]
            },
            "property.common.price": {
                "type": "number",
                "minimum": 0,
                "description": "Precio"
            },
            "schema.fraud-check.jsonld-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "risk_score": {
                        "$ref": "#/components/schemas/property.fraud-check.risk_score"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.fraud-check.service_code"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "callback_data": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/property.common.callback_data"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_phone": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-phone.jsonld-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_email": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-email.jsonld-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_ip": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-ip.jsonld-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_address": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-address.jsonld-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "price": {
                        "$ref": "#/components/schemas/property.common.price"
                    }
                },
                "required": [
                    "service_code"
                ]
            },
            "schema.fraud-check-phone-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request phone number",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "phone": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "is_possible": {
                        "$ref": "#/components/schemas/property.fraud-check-phone.is_possible"
                    },
                    "is_valid": {
                        "$ref": "#/components/schemas/property.fraud-check-phone.is_valid"
                    },
                    "region": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "number_type": {
                        "$ref": "#/components/schemas/property.fraud-check-phone.number_type"
                    }
                },
                "required": [
                    "phone"
                ]
            },
            "schema.fraud-check-email-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request email",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "email": {
                        "$ref": "#/components/schemas/property.fraud-check-email.email"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "is_possible": {
                        "$ref": "#/components/schemas/property.fraud-check-email.is_possible"
                    },
                    "is_anonymous": {
                        "$ref": "#/components/schemas/property.fraud-check-email.is_anonymous"
                    }
                },
                "required": [
                    "email"
                ]
            },
            "schema.fraud-check-ip-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request IP address",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.fraud-check.ip"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "iso2": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "state": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "city": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.city"
                    },
                    "postcode": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.postcode"
                    },
                    "geolocation": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.geolocation"
                    },
                    "isp_name": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.isp_name"
                    },
                    "isp_risk_score": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.isp_risk_score"
                    },
                    "proxy_type": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.proxy_type"
                    },
                    "connection_type": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.connection_type"
                    },
                    "is_ok": {
                        "$ref": "#/components/schemas/property.fraud-check-ip.is_ok"
                    }
                },
                "required": [
                    "ip"
                ]
            },
            "schema.fraud-check-address-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request address",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check-address.status_code"
                    },
                    "iso2": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "city": {
                        "$ref": "#/components/schemas/property.fraud-check-address.city"
                    },
                    "postcode": {
                        "$ref": "#/components/schemas/property.fraud-check-address.postcode"
                    },
                    "street_number": {
                        "$ref": "#/components/schemas/property.fraud-check-address.street_number"
                    },
                    "street_name": {
                        "$ref": "#/components/schemas/property.fraud-check-address.street_name"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    }
                },
                "required": [
                    "iso2",
                    "city",
                    "street_name"
                ]
            },
            "schema.fraud-check-fraud_request_read": {
                "type": "object",
                "description": "Fraud check request",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.fraud-check.status_code"
                    },
                    "risk_score": {
                        "$ref": "#/components/schemas/property.fraud-check.risk_score"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.fraud-check.service_code"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "callback_data": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/property.common.callback_data"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_phone": {
                        "description": "ORM\\Column(name=\"email\", type=\"text\", length=50, nullable=false)",
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-phone-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_email": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-email-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_ip": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-ip-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "request_address": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-address-fraud_request_read"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "price": {
                        "$ref": "#/components/schemas/property.common.price"
                    }
                },
                "required": [
                    "service_code"
                ]
            },
            "property.fraud-check.email": {
                "type": "string",
                "minLength": 6,
                "maxLength": 500,
                "description": "Email address"
            },
            "schema.fraud-check-address-fraud_request_write": {
                "type": "object",
                "description": "Fraud check request address",
                "deprecated": false,
                "required": [
                    "iso2",
                    "city",
                    "street_name"
                ],
                "properties": {
                    "iso2": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "city": {
                        "$ref": "#/components/schemas/property.fraud-check-address.city"
                    },
                    "postcode": {
                        "$ref": "#/components/schemas/property.fraud-check-address.postcode"
                    },
                    "street_number": {
                        "$ref": "#/components/schemas/property.fraud-check-address.street_number"
                    },
                    "street_name": {
                        "$ref": "#/components/schemas/property.fraud-check-address.street_name"
                    }
                }
            },
            "schema.fraud-check-fraud_request_write": {
                "type": "object",
                "description": "Fraud check request",
                "deprecated": false,
                "required": [
                    "service_code"
                ],
                "properties": {
                    "service_code": {
                        "$ref": "#/components/schemas/property.fraud-check.service_code"
                    },
                    "callback_data": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/property.common.callback_data"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "phone": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/property.common.phone_number"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "email": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/property.fraud-check.email"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "ip": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/property.fraud-check.ip"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "address": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/schema.fraud-check-address-fraud_request_write"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                }
            },
            "property.group.id": {
                "type": "integer",
                "minimum": 1,
                "description": "ID del grupo"
            },
            "property.group.name": {
                "minLength": 1,
                "maxLength": 50,
                "type": "string",
                "description": "Nombre del grupo"
            },
            "property.group.description": {
                "maxLength": 255,
                "type": [
                    "string",
                    "null"
                ],
                "description": "Descripci\u00f3n del grupo"
            },
            "property.group.column_name": {
                "maxLength": 50,
                "type": [
                    "string",
                    "null"
                ],
                "description": "Nombre de la columna"
            },
            "property.group.count_items": {
                "type": "integer",
                "minimum": 0,
                "description": "Cantidad de elementos en el grupo"
            },
            "property.group.deleted_at": {
                "type": [
                    "string",
                    "null"
                ],
                "format": "date-time",
                "description": "Fecha y hora en que se eliminar\u00e1 el grupo"
            },
            "schema.groups.jsonld-group_read": {
                "type": "object",
                "description": "Phone's group",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.group.id"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.group.name"
                    },
                    "description": {
                        "$ref": "#/components/schemas/property.group.description"
                    },
                    "name_a": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_b": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_c": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_d": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_e": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "count_items": {
                        "$ref": "#/components/schemas/property.group.count_items"
                    },
                    "deleted_at": {
                        "$ref": "#/components/schemas/property.group.deleted_at"
                    }
                },
                "required": [
                    "name"
                ]
            },
            "schema.groups-group_read": {
                "type": "object",
                "description": "Phone's group",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.group.id"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.group.name"
                    },
                    "description": {
                        "$ref": "#/components/schemas/property.group.description"
                    },
                    "name_a": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_b": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_c": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_d": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_e": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "count_items": {
                        "$ref": "#/components/schemas/property.group.count_items"
                    },
                    "deleted_at": {
                        "$ref": "#/components/schemas/property.group.deleted_at"
                    }
                },
                "required": [
                    "name"
                ]
            },
            "property.phone.phone": {
                "maxLength": 30,
                "type": "string",
                "description": "N\u00famero de tel\u00e9fono"
            },
            "property.phone.column": {
                "maxLength": 1530,
                "type": [
                    "string",
                    "null"
                ],
                "description": "Datos de columna del tel\u00e9fono"
            },
            "schema.phones-write": {
                "type": "object",
                "description": "Phones list by group",
                "deprecated": false,
                "required": [
                    "phone"
                ],
                "properties": {
                    "phone": {
                        "$ref": "#/components/schemas/property.phone.phone"
                    },
                    "a": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "b": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "c": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "d": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "e": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    }
                }
            },
            "schema.groups-write": {
                "type": "object",
                "description": "Phone's group",
                "deprecated": false,
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "$ref": "#/components/schemas/property.group.name"
                    },
                    "description": {
                        "$ref": "#/components/schemas/property.group.description"
                    },
                    "name_a": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_b": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_c": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_d": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "name_e": {
                        "$ref": "#/components/schemas/property.group.column_name"
                    },
                    "phones": {
                        "oneOf": [
                            {
                                "type": "object",
                                "additionalProperties": {
                                    "$ref": "#/components/schemas/schema.phones-write"
                                }
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "deleted_at": {
                        "$ref": "#/components/schemas/property.group.deleted_at"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.group.id"
                    },
                    "count_items": {
                        "$ref": "#/components/schemas/property.group.count_items"
                    }
                }
            },
            "property.phone.id": {
                "type": "string",
                "description": "ID del tel\u00e9fono"
            },
            "property.phone.subscribed_at": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Marca de tiempo cuando el usuario se suscribi\u00f3 [link](/es/api/operations/post_subscribe/)"
            },
            "property.phone.unsubscribed_at": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Timestamp when user was unsubscribed by a [link](/es/api/operations/post_unsubscribe/)"
            },
            "property.phone.unsubscribe_reason": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Unsubscribe reasons:\n- 1 - Nunca me suscrib\u00ed\n- 2 - Demasiados mensajes\n- 3 - No me interesa\n- 4 - El contenido es incomprensible\n- 5 - No me gusta su empresa\n- 6 - Otro motivo"
            },
            "schema.phones.jsonld-phone_read": {
                "type": "object",
                "description": "Phones list by group",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.phone.id"
                    },
                    "phone": {
                        "$ref": "#/components/schemas/property.phone.phone"
                    },
                    "a": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "b": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "c": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "d": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "e": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    },
                    "subscribed_at": {
                        "$ref": "#/components/schemas/property.phone.subscribed_at"
                    },
                    "unsubscribed_at": {
                        "$ref": "#/components/schemas/property.phone.unsubscribed_at"
                    },
                    "unsubscribe_reason": {
                        "$ref": "#/components/schemas/property.phone.unsubscribe_reason"
                    }
                },
                "required": [
                    "phone"
                ]
            },
            "schema.phones-phone_read": {
                "type": "object",
                "description": "Phones list by group",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.phone.id"
                    },
                    "phone": {
                        "$ref": "#/components/schemas/property.phone.phone"
                    },
                    "a": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "b": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "c": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "d": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "e": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    },
                    "subscribed_at": {
                        "$ref": "#/components/schemas/property.phone.subscribed_at"
                    },
                    "unsubscribed_at": {
                        "$ref": "#/components/schemas/property.phone.unsubscribed_at"
                    },
                    "unsubscribe_reason": {
                        "$ref": "#/components/schemas/property.phone.unsubscribe_reason"
                    }
                },
                "required": [
                    "phone"
                ]
            },
            "schema.phones-phone_write": {
                "type": "object",
                "description": "Phones list by group",
                "deprecated": false,
                "required": [
                    "phone"
                ],
                "properties": {
                    "phone": {
                        "$ref": "#/components/schemas/property.phone.phone"
                    },
                    "a": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "b": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "c": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "d": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "e": {
                        "$ref": "#/components/schemas/property.phone.column"
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    }
                }
            },
            "schema.phones-batch-write": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/schema.phones-phone_write"
                }
            },
            "property.batch.status": {
                "readOnly": true,
                "type": "integer",
                "description": "C\u00f3digo de estado HTTP de respuesta"
            },
            "schema.response.jsonld-bad-request": {
                "type": "object",
                "readOnly": true,
                "properties": {
                    "@context": {
                        "type": "string",
                        "readOnly": true
                    },
                    "@type": {
                        "type": "string",
                        "readOnly": true
                    },
                    "hydra:title": {
                        "type": "string",
                        "readOnly": true
                    },
                    "hydra:description": {
                        "type": "string",
                        "readOnly": true
                    }
                }
            },
            "schema.phones.jsonld-batch-item": {
                "type": "object",
                "properties": {
                    "status": {
                        "$ref": "#/components/schemas/property.batch.status"
                    },
                    "body": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/schema.phones.jsonld-phone_read"
                            },
                            {
                                "$ref": "#/components/schemas/schema.response.jsonld-bad-request"
                            }
                        ]
                    }
                }
            },
            "schema.phones.jsonld-batch-read": {
                "type": "object",
                "readOnly": true,
                "properties": {
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "hydra:totalItems": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "hydra:member": {
                        "$ref": "#/components/schemas/schema.phones.jsonld-batch-item"
                    }
                }
            },
            "schema.response-bad-request": {
                "type": "object",
                "readOnly": true,
                "properties": {
                    "type": {
                        "type": "string",
                        "readOnly": true
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true
                    },
                    "detail": {
                        "type": "string",
                        "readOnly": true
                    }
                }
            },
            "schema.phones-batch-item": {
                "type": "object",
                "properties": {
                    "status": {
                        "$ref": "#/components/schemas/property.batch.status"
                    },
                    "body": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/schema.phones-phone_read"
                            },
                            {
                                "$ref": "#/components/schemas/schema.response-bad-request"
                            }
                        ]
                    }
                }
            },
            "schema.phones-batch-read": {
                "type": "array",
                "readOnly": true,
                "items": {
                    "$ref": "#/components/schemas/schema.phones-batch-item"
                }
            },
            "property.incomings.received_at": {
                "type": "integer",
                "description": "Fecha y hora en que el servicio recibi\u00f3 el SMS"
            },
            "property.incomings.text": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "Texto SMS"
            },
            "property.incomings.msg_uuid": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "ID del SMS que se replica"
            },
            "schema.incomings.jsonld-incoming_read": {
                "type": "object",
                "description": "Incoming SMS",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "to": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "from": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "received_at": {
                        "$ref": "#/components/schemas/property.incomings.received_at"
                    },
                    "text": {
                        "$ref": "#/components/schemas/property.incomings.text"
                    },
                    "msg_uuid": {
                        "$ref": "#/components/schemas/property.incomings.msg_uuid"
                    }
                }
            },
            "schema.incomings-incoming_read": {
                "type": "object",
                "description": "Incoming SMS",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "to": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "from": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "received_at": {
                        "$ref": "#/components/schemas/property.incomings.received_at"
                    },
                    "text": {
                        "$ref": "#/components/schemas/property.incomings.text"
                    },
                    "msg_uuid": {
                        "$ref": "#/components/schemas/property.incomings.msg_uuid"
                    }
                }
            },
            "property.short_link_campaigns.type": {
                "enum": [
                    1,
                    2
                ],
                "type": "integer",
                "description": "Tipo de la campa\u00f1a de enlaces cortos"
            },
            "property.short_link_campaigns.id": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "Identificador \u00fanico de la campa\u00f1a de enlaces cortos"
            },
            "property.short_link_campaigns.name": {
                "maxLength": 100,
                "type": "string",
                "description": "Nombre de la campa\u00f1a de enlaces cortos"
            },
            "property.short_link_campaigns.url": {
                "type": "string",
                "description": "URL de la campa\u00f1a de enlaces cortos"
            },
            "property.short_link_campaigns.group_id": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "ID del grupo de la campa\u00f1a de enlaces cortos"
            },
            "schema.short_link_campaigns.jsonld-short_link_campaign_read": {
                "type": "object",
                "description": "Short link campaigns",
                "readOnly": true,
                "deprecated": false,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "type": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.type"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.id"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.name"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.url"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "group_id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.group_id"
                    }
                }
            },
            "schema.short_link_campaigns-short_link_campaign_read": {
                "type": "object",
                "description": "Short link campaigns",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.type"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.id"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.name"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.url"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "group_id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.group_id"
                    }
                }
            },
            "schema.short_link_campaigns-short_link_campaign_write": {
                "type": "object",
                "description": "Short link campaigns",
                "deprecated": false,
                "required": [
                    "type",
                    "name",
                    "url"
                ],
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.type"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.name"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.url"
                    },
                    "group_id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.group_id"
                    }
                }
            },
            "schema.short_link_campaigns-short_link_campaign_subscribe_write": {
                "type": "object",
                "description": "Short link campaigns",
                "deprecated": false,
                "required": [
                    "name",
                    "group_id"
                ],
                "properties": {
                    "name": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.name"
                    },
                    "group_id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.group_id"
                    }
                }
            },
            "schema.short_link_campaigns.jsonld-short_link_campaign_subscribe_read": {
                "type": "object",
                "description": "Short link campaigns",
                "readOnly": true,
                "deprecated": false,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "type": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.type"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.id"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.name"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.url"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "group_id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.group_id"
                    }
                }
            },
            "schema.short_link_campaigns-short_link_campaign_subscribe_read": {
                "type": "object",
                "description": "Short link campaigns",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.type"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.id"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.name"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.url"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "group_id": {
                        "$ref": "#/components/schemas/property.short_link_campaigns.group_id"
                    }
                }
            },
            "property.short_link_requests.id": {
                "type": "integer",
                "minimum": 0,
                "description": "Identificador \u00fanico de la solicitud de enlace corto"
            },
            "property.short_link_requests.ip": {
                "type": [
                    "string",
                    "null"
                ],
                "format": "ipv4",
                "example": "192.168.1.1",
                "maxLength": 15,
                "description": "Direcci\u00f3n IP de la solicitud de enlace corto"
            },
            "property.short_link_requests.user_agent": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "Agente de usuario de la solicitud de enlace corto"
            },
            "property.short_link_requests.url": {
                "type": "string",
                "description": "URL de la solicitud de enlace corto"
            },
            "property.short_link_requests.date": {
                "type": "integer",
                "minimum": 0,
                "description": "Fecha de la solicitud de enlace corto"
            },
            "property.short_link_requests.referer": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "Referente de la solicitud de enlace corto"
            },
            "property.short_link_requests.short_link": {
                "type": [
                    "string",
                    "null"
                ],
                "format": "iri-reference",
                "example": "https://example.com/",
                "description": "Enlace corto asociado con la solicitud"
            },
            "property.short_link_requests.type": {
                "type": "integer",
                "description": "Tipo de la solicitud de enlace corto"
            },
            "property.short_link_requests.browser": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "Navegador utilizado para la solicitud de enlace corto"
            },
            "property.short_link_requests.browser_version": {
                "type": [
                    "string",
                    "null"
                ],
                "maxLength": 255,
                "description": "Versi\u00f3n del navegador utilizada para la solicitud de enlace corto"
            },
            "property.short_link_requests.os": {
                "type": [
                    "string",
                    "null"
                ],
                "maxLength": 255,
                "description": "Sistema operativo utilizado para la solicitud de enlace corto"
            },
            "property.short_link_requests.os_version": {
                "type": [
                    "string",
                    "null"
                ],
                "maxLength": 255,
                "description": "Versi\u00f3n del sistema operativo utilizada para la solicitud de enlace corto"
            },
            "property.short_link_requests.software_type": {
                "type": [
                    "string",
                    "null"
                ],
                "maxLength": 255,
                "description": "Tipo de software utilizado para la solicitud de enlace corto"
            },
            "property.short_link_requests.hardware_type": {
                "type": [
                    "string",
                    "null"
                ],
                "maxLength": 255,
                "description": "Tipo de hardware utilizado para la solicitud de enlace corto"
            },
            "schema.short_link_requests.jsonld-short_link_request_read": {
                "type": "object",
                "description": "Short link campaigns",
                "readOnly": true,
                "deprecated": false,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.short_link_requests.id"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.short_link_requests.ip"
                    },
                    "user_agent": {
                        "$ref": "#/components/schemas/property.short_link_requests.user_agent"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_link_requests.url"
                    },
                    "date": {
                        "$ref": "#/components/schemas/property.short_link_requests.date"
                    },
                    "country": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "referer": {
                        "$ref": "#/components/schemas/property.short_link_requests.referer"
                    },
                    "short_link": {
                        "$ref": "#/components/schemas/property.short_link_requests.short_link"
                    },
                    "type": {
                        "$ref": "#/components/schemas/property.short_link_requests.type"
                    },
                    "browser": {
                        "$ref": "#/components/schemas/property.short_link_requests.browser"
                    },
                    "browser_version": {
                        "$ref": "#/components/schemas/property.short_link_requests.browser_version"
                    },
                    "os": {
                        "$ref": "#/components/schemas/property.short_link_requests.os"
                    },
                    "os_version": {
                        "$ref": "#/components/schemas/property.short_link_requests.os_version"
                    },
                    "software_type": {
                        "$ref": "#/components/schemas/property.short_link_requests.software_type"
                    },
                    "hardware_type": {
                        "$ref": "#/components/schemas/property.short_link_requests.hardware_type"
                    }
                }
            },
            "schema.short_link_requests-short_link_request_read": {
                "type": "object",
                "description": "Short link campaigns",
                "readOnly": true,
                "deprecated": false,
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.short_link_requests.id"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.short_link_requests.ip"
                    },
                    "user_agent": {
                        "$ref": "#/components/schemas/property.short_link_requests.user_agent"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_link_requests.url"
                    },
                    "date": {
                        "$ref": "#/components/schemas/property.short_link_requests.date"
                    },
                    "country": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "referer": {
                        "$ref": "#/components/schemas/property.short_link_requests.referer"
                    },
                    "short_link": {
                        "$ref": "#/components/schemas/property.short_link_requests.short_link"
                    },
                    "type": {
                        "$ref": "#/components/schemas/property.short_link_requests.type"
                    },
                    "browser": {
                        "$ref": "#/components/schemas/property.short_link_requests.browser"
                    },
                    "browser_version": {
                        "$ref": "#/components/schemas/property.short_link_requests.browser_version"
                    },
                    "os": {
                        "$ref": "#/components/schemas/property.short_link_requests.os"
                    },
                    "os_version": {
                        "$ref": "#/components/schemas/property.short_link_requests.os_version"
                    },
                    "software_type": {
                        "$ref": "#/components/schemas/property.short_link_requests.software_type"
                    },
                    "hardware_type": {
                        "$ref": "#/components/schemas/property.short_link_requests.hardware_type"
                    }
                }
            },
            "property.short_links.short_code": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "C\u00f3digo corto del enlace"
            },
            "property.short_links.url": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "URL del enlace corto"
            },
            "property.short_links.campaign": {
                "type": [
                    "string",
                    "null"
                ],
                "format": "iri-reference",
                "example": "https://example.com/",
                "description": "Campa\u00f1a asociada con el enlace corto"
            },
            "property.short_links.requests": {
                "type": "string",
                "description": "Solicitudes asociadas con el enlace corto"
            },
            "schema.short_links.jsonld-short_link_read": {
                "type": "object",
                "description": "Short links",
                "readOnly": true,
                "deprecated": false,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "short_code": {
                        "$ref": "#/components/schemas/property.short_links.short_code"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_links.url"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "campaign": {
                        "$ref": "#/components/schemas/property.short_links.campaign"
                    },
                    "requests": {
                        "$ref": "#/components/schemas/property.short_links.requests"
                    }
                }
            },
            "schema.short_links-short_link_read": {
                "type": "object",
                "description": "Short links",
                "readOnly": true,
                "deprecated": false,
                "properties": {
                    "short_code": {
                        "$ref": "#/components/schemas/property.short_links.short_code"
                    },
                    "url": {
                        "$ref": "#/components/schemas/property.short_links.url"
                    },
                    "updated_at": {
                        "$ref": "#/components/schemas/property.common.updated_at"
                    },
                    "campaign": {
                        "$ref": "#/components/schemas/property.short_links.campaign"
                    },
                    "requests": {
                        "$ref": "#/components/schemas/property.short_links.requests"
                    }
                }
            },
            "property.sms.text": {
                "type": "string",
                "description": "El texto del mensaje puede tener una longitud de hasta 1530 caracteres. Con un SMS Unicode, la longitud m\u00e1xima de caracteres se reduce a 670 caracteres. La codificaci\u00f3n interna es UTF-8."
            },
            "property.sms.status_code": {
                "type": "integer",
                "minimum": 0,
                "enum": [
                    0,
                    100,
                    208,
                    400,
                    410,
                    2000,
                    3000,
                    5000,
                    6000
                ],
                "description": "Estado del SMS. Para m\u00e1s informaci\u00f3n, consulte [SMS status codes](/info/sms-status-codes/)"
            },
            "property.sms.gateway_sent_at": {
                "type": "integer",
                "description": "Fecha y hora de env\u00edo del mensaje al gateway"
            },
            "property.sms.dlr_code": {
                "type": "integer",
                "description": "[Status of the SMS delivery](/info/sms-delivery-report-codes-dlr/) desde gateway",
                "enum": [
                    0,
                    1,
                    2,
                    4,
                    8,
                    16
                ],
                "example": 1,
                "x-enum-descriptions": {
                    "0": "NONE: No delivery report available",
                    "1": "DELIVERY_OK: Message successfully delivered",
                    "2": "DELIVERY_QUEUE: Message scheduled for later delivery",
                    "4": "DELIVERY_SUBMIT_ACK: Message is enroute",
                    "8": "DELIVERY_EXPIRED: Message expired (e.g., phone turned off)",
                    "16": "DELIVERY_REJECTED: Message rejected (blocked number or invalid)"
                }
            },
            "property.sms.parts_count": {
                "type": "integer",
                "minimum": 1,
                "description": "Recuento de las partes del SMS"
            },
            "property.sms.chars_count": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "Recuento de los caracteres del SMS"
            },
            "property.sms.bulk_id": {
                "type": [
                    "null",
                    "string"
                ],
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                "description": "Bulk ID"
            },
            "property.sms.is_sent": {
                "type": "boolean",
                "description": "True - SMS fue enviado, False - SMS aun no fue enviado"
            },
            "property.sms.requests": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "[Link](/es/api/operations/get_sms_requests/) a todas las solicitudes mediante una lista SMS"
            },
            "property.sms.clicks": {
                "type": [
                    "string",
                    "null"
                ],
                "description": "[Link](/es/api/operations/api_sms_clicks_per_message_get_collection/) contar de solicitud por un enlace corto"
            },
            "property.sms.attempts_count_max": {
                "type": [
                    "integer",
                    "null"
                ],
                "description": "N\u00famero m\u00e1ximo de intentos de entrega para servicios de voz (`text2speech`, `text2speech_ssml`). Valores permitidos: `null`, `1`, `2` o 3 para servicios `text2speech`/`text2speech_ssml`; debe ser nulo para otros servicios.",
                "example": null,
                "enum": [
                    null,
                    1,
                    2,
                    3
                ]
            },
            "schema.sms.jsonld-sms_read": {
                "type": "object",
                "description": "SMS",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "text": {
                        "$ref": "#/components/schemas/property.sms.text"
                    },
                    "sender_id": {
                        "$ref": "#/components/schemas/property.messages.sender_id"
                    },
                    "phone": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "delivery_at": {
                        "$ref": "#/components/schemas/property.messages.delivery_at"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.sms.status_code"
                    },
                    "gateway_sent_at": {
                        "$ref": "#/components/schemas/property.sms.gateway_sent_at"
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "dlr_code": {
                        "$ref": "#/components/schemas/property.sms.dlr_code"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.common.ip_read"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "iso2": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "voice_lang": {
                        "$ref": "#/components/schemas/property.messages.voice_lang"
                    },
                    "parts_count": {
                        "$ref": "#/components/schemas/property.sms.parts_count"
                    },
                    "chars_count": {
                        "$ref": "#/components/schemas/property.sms.chars_count"
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    },
                    "bulk_id": {
                        "$ref": "#/components/schemas/property.sms.bulk_id"
                    },
                    "key_id": {
                        "$ref": "#/components/schemas/property.common.key_id"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.messages.service_code"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.messages.is_text_deleted"
                    },
                    "price": {
                        "$ref": "#/components/schemas/property.common.price"
                    },
                    "is_sent": {
                        "$ref": "#/components/schemas/property.sms.is_sent"
                    },
                    "requests": {
                        "$ref": "#/components/schemas/property.sms.requests"
                    },
                    "clicks": {
                        "$ref": "#/components/schemas/property.sms.clicks"
                    },
                    "attempts_count_max": {
                        "$ref": "#/components/schemas/property.sms.attempts_count_max"
                    }
                }
            },
            "schema.sms-sms_read": {
                "type": "object",
                "description": "SMS",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "text": {
                        "$ref": "#/components/schemas/property.sms.text"
                    },
                    "sender_id": {
                        "$ref": "#/components/schemas/property.messages.sender_id"
                    },
                    "phone": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "delivery_at": {
                        "$ref": "#/components/schemas/property.messages.delivery_at"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.sms.status_code"
                    },
                    "gateway_sent_at": {
                        "$ref": "#/components/schemas/property.sms.gateway_sent_at"
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "dlr_code": {
                        "$ref": "#/components/schemas/property.sms.dlr_code"
                    },
                    "ip": {
                        "$ref": "#/components/schemas/property.common.ip_read"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "iso2": {
                        "$ref": "#/components/schemas/property.common.country_code"
                    },
                    "voice_lang": {
                        "$ref": "#/components/schemas/property.messages.voice_lang"
                    },
                    "parts_count": {
                        "$ref": "#/components/schemas/property.sms.parts_count"
                    },
                    "chars_count": {
                        "$ref": "#/components/schemas/property.sms.chars_count"
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    },
                    "bulk_id": {
                        "$ref": "#/components/schemas/property.sms.bulk_id"
                    },
                    "key_id": {
                        "$ref": "#/components/schemas/property.common.key_id"
                    },
                    "service_code": {
                        "$ref": "#/components/schemas/property.messages.service_code"
                    },
                    "is_text_deleted": {
                        "$ref": "#/components/schemas/property.messages.is_text_deleted"
                    },
                    "price": {
                        "$ref": "#/components/schemas/property.common.price"
                    },
                    "is_sent": {
                        "$ref": "#/components/schemas/property.sms.is_sent"
                    },
                    "requests": {
                        "$ref": "#/components/schemas/property.sms.requests"
                    },
                    "clicks": {
                        "$ref": "#/components/schemas/property.sms.clicks"
                    },
                    "attempts_count_max": {
                        "$ref": "#/components/schemas/property.sms.attempts_count_max"
                    }
                }
            },
            "schema.sms-write": {
                "type": "object",
                "description": "SMS",
                "deprecated": false,
                "required": [
                    "sender_id",
                    "text",
                    "phone"
                ],
                "properties": {
                    "text": {
                        "$ref": "#/components/schemas/property.sms.text"
                    },
                    "sender_id": {
                        "$ref": "#/components/schemas/property.messages.sender_id"
                    },
                    "phone": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "delivery_at": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.delivery_at"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "source": {
                        "$ref": "#/components/schemas/property.messages.source"
                    },
                    "is_unicode": {
                        "$ref": "#/components/schemas/property.messages.is_unicode"
                    },
                    "voice_lang": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.voice_lang"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    },
                    "service_code": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.service_code"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "is_text_deleted": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.messages.is_text_deleted"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "attempts_count_max": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/property.sms.attempts_count_max"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                }
            },
            "property.sms.deleted_sms_count_cancel": {
                "description": "Count of the SMS which was canceled",
                "type": "integer",
                "minimum": 0
            },
            "schema.sms-batch-cancel-response": {
                "type": "object",
                "readOnly": true,
                "properties": {
                    "deleted_sms_count": {
                        "$ref": "#/components/schemas/property.sms.deleted_sms_count_cancel"
                    }
                }
            },
            "property.sms.deleted_sms_count_delete": {
                "description": "Count of the SMS which was deleted",
                "type": "integer",
                "minimum": 0
            },
            "schema.sms-batch-delete-response": {
                "type": "object",
                "readOnly": true,
                "properties": {
                    "deleted_sms_count": {
                        "$ref": "#/components/schemas/property.sms.deleted_sms_count_delete"
                    }
                }
            },
            "property.sms_clicks.requests_count": {
                "type": "integer",
                "description": "N\u00famero de solicitudes para clics de SMS"
            },
            "schema.sms_clicks.jsonld-short_link_msg_read": {
                "type": "object",
                "description": "Clicks by sms",
                "readOnly": true,
                "deprecated": false,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "requests_count": {
                        "$ref": "#/components/schemas/property.sms_clicks.requests_count"
                    }
                }
            },
            "schema.sms_clicks-short_link_msg_read": {
                "type": "object",
                "description": "Clicks by sms",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "uuid": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "requests_count": {
                        "$ref": "#/components/schemas/property.sms_clicks.requests_count"
                    }
                }
            },
            "property.blocked_numbers.id": {
                "type": "integer",
                "minimum": 1,
                "description": "Unique identifier"
            },
            "property.blocked_numbers.number": {
                "type": "string",
                "description": "Phone number in international format",
                "pattern": "^\\+[0-9]{4,20}$",
                "example": "+1234567890"
            },
            "property.blocked_numbers.type": {
                "type": "integer",
                "enum": [
                    1,
                    2
                ],
                "description": "Blocked number's type:\n- `1` - blocked by customer\n- `2` - unsubscribed by user"
            },
            "schema.blocked_numbers.jsonld-blocked_number_read": {
                "type": "object",
                "description": "Blocked phone number - JSON-LD read representation",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "@id": {
                        "$ref": "#/components/schemas/property._jsonld_id"
                    },
                    "@type": {
                        "$ref": "#/components/schemas/property._jsonld_type"
                    },
                    "@context": {
                        "$ref": "#/components/schemas/property._jsonld_context"
                    },
                    "id": {
                        "$ref": "#/components/schemas/property.blocked_numbers.id"
                    },
                    "number": {
                        "$ref": "#/components/schemas/property.blocked_numbers.number"
                    },
                    "type": {
                        "$ref": "#/components/schemas/property.blocked_numbers.type"
                    },
                    "added_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    }
                },
                "required": [
                    "id",
                    "number",
                    "type",
                    "added_at"
                ]
            },
            "schema.blocked_numbers-blocked_number_read": {
                "type": "object",
                "description": "Blocked phone number - read representation",
                "deprecated": false,
                "readOnly": true,
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.blocked_numbers.id"
                    },
                    "number": {
                        "$ref": "#/components/schemas/property.blocked_numbers.number"
                    },
                    "type": {
                        "$ref": "#/components/schemas/property.blocked_numbers.type"
                    },
                    "added_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    }
                },
                "required": [
                    "id",
                    "number",
                    "type",
                    "added_at"
                ]
            },
            "schema.blocked_numbers-blocked_number_write": {
                "type": "object",
                "description": "Blocked phone number - write representation",
                "deprecated": false,
                "writeOnly": true,
                "properties": {
                    "number": {
                        "$ref": "#/components/schemas/property.blocked_numbers.number"
                    }
                },
                "required": [
                    "number"
                ]
            },
            "verify_code_read": {
                "type": "object",
                "description": "Respuesta de lectura del c\u00f3digo de verificaci\u00f3n. Contiene los detalles completos de la solicitud del c\u00f3digo de verificaci\u00f3n, incluyendo el estado actual, el historial de entrega y la informaci\u00f3n de costos.",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Identificador \u00fanico (UUID) de la solicitud del c\u00f3digo de verificaci\u00f3n.",
                        "readOnly": true,
                        "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
                    },
                    "user_id": {
                        "type": "integer",
                        "description": "ID del usuario que cre\u00f3 la solicitud del c\u00f3digo de verificaci\u00f3n.",
                        "readOnly": true,
                        "example": 12345
                    },
                    "phone": {
                        "type": "string",
                        "description": "N\u00famero de tel\u00e9fono del destinatario en formato internacional.",
                        "example": "+491701234567"
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "El valor del c\u00f3digo de verificaci\u00f3n. Si se estableci\u00f3 `is_code_deleted` y la tarea se complet\u00f3, el c\u00f3digo estar\u00e1 ausente.",
                        "example": "1234"
                    },
                    "code_length": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Longitud del c\u00f3digo de verificaci\u00f3n.",
                        "example": 4
                    },
                    "lang": {
                        "type": "string",
                        "description": "Idioma utilizado para la plantilla del mensaje.",
                        "enum": [
                            "EN",
                            "DE",
                            "FR",
                            "IT",
                            "ES",
                            "PL",
                            "NL",
                            "RO",
                            "PT",
                            "CS",
                            "HU",
                            "SV",
                            "DA",
                            "FI",
                            "SK",
                            "HR",
                            "TR",
                            "RU",
                            "BG",
                            "UK"
                        ],
                        "example": "DE"
                    },
                    "routing_strategy": {
                        "type": "array",
                        "description": "Lista ordenada de canales de entrega que se configuraron para esta solicitud.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "channel": {
                                    "type": "string",
                                    "description": "Tipo de canal de entrega.",
                                    "enum": [
                                        "telegram",
                                        "voice",
                                        "sms"
                                    ]
                                },
                                "timeout_sec": {
                                    "type": [
                                        "integer",
                                        "null"
                                    ],
                                    "description": "Tiempo de espera en segundos antes de recurrir al siguiente paso. Solo aplicable para el canal de telegram."
                                },
                                "sender_id": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "description": "Identificador del remitente utilizado para este canal."
                                },
                                "template": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "description": "Plantilla de mensaje personalizada utilizada para este canal."
                                }
                            }
                        }
                    },
                    "status": {
                        "type": "integer",
                        "description": "Estado actual del c\u00f3digo de verificaci\u00f3n: 0 = Nuevo, 5 = En progreso, 10 = \u00c9xito, 20 = Fallido, 100 = Error.",
                        "readOnly": true,
                        "enum": [
                            0,
                            5,
                            10,
                            20,
                            100
                        ]
                    },
                    "delivered_channel": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "El canal que entreg\u00f3 exitosamente el c\u00f3digo de verificaci\u00f3n. Null si a\u00fan no se ha entregado o si la entrega fall\u00f3.",
                        "readOnly": true,
                        "enum": [
                            "telegram",
                            "voice",
                            "sms",
                            null
                        ]
                    },
                    "cost": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Costo total de la solicitud de verificaci\u00f3n en c\u00e9ntimos de euro. Null hasta que se complete el procesamiento.",
                        "readOnly": true,
                        "example": 5
                    },
                    "currency": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "C\u00f3digo de moneda para el costo.",
                        "readOnly": true,
                        "example": "EUR"
                    },
                    "payload": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Datos de payload personalizados de la solicitud original."
                    },
                    "created_at": {
                        "type": "integer",
                        "description": "Marca de tiempo Unix de cu\u00e1ndo se cre\u00f3 el c\u00f3digo de verificaci\u00f3n.",
                        "readOnly": true,
                        "example": 1735689600
                    },
                    "updated_at": {
                        "type": "integer",
                        "description": "Marca de tiempo Unix de la \u00faltima actualizaci\u00f3n.",
                        "readOnly": true,
                        "example": 1735689660
                    },
                    "history": {
                        "type": "array",
                        "description": "Historial de procesamiento para cada intento de canal. Una entrada por paso de enrutamiento.",
                        "readOnly": true,
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string",
                                    "description": "UUID de la entrada del historial."
                                },
                                "channel": {
                                    "type": "string",
                                    "description": "Tipo de canal para este intento.",
                                    "enum": [
                                        "telegram",
                                        "voice",
                                        "sms"
                                    ]
                                },
                                "status": {
                                    "type": "integer",
                                    "description": "Estado de este intento de canal: 0 = Nuevo, 5 = En progreso, 10 = \u00c9xito, 20 = Fallido, 100 = Error."
                                },
                                "processed_at": {
                                    "type": "integer",
                                    "description": "Marca de tiempo Unix de cu\u00e1ndo se proces\u00f3 este paso."
                                },
                                "external_id": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "description": "ID del mensaje del proveedor externo."
                                }
                            }
                        }
                    },
                    "is_code_deleted": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "description": "Si el c\u00f3digo de verificaci\u00f3n ha sido eliminado del almacenamiento despu\u00e9s de ser enviado al destinatario."
                    }
                }
            },
            "verify_code_write": {
                "type": "object",
                "description": "Payload de escritura de c\u00f3digo de verificaci\u00f3n. Crea una nueva solicitud de c\u00f3digo de verificaci\u00f3n con una estrategia de enrutamiento de varios pasos.",
                "required": [
                    "phone",
                    "routing_strategy"
                ],
                "properties": {
                    "phone": {
                        "type": "string",
                        "description": "N\u00famero de tel\u00e9fono del destinatario en formato internacional (ej. +491701234567).",
                        "minLength": 5,
                        "maxLength": 30,
                        "example": "+491701234567"
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "C\u00f3digo de verificaci\u00f3n personalizado. Si no se proporciona, se genera autom\u00e1ticamente un c\u00f3digo num\u00e9rico aleatorio basado en `code_length`.",
                        "minLength": 4,
                        "maxLength": 8,
                        "example": "1234"
                    },
                    "code_length": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Longitud del c\u00f3digo de verificaci\u00f3n generado autom\u00e1ticamente. Se utiliza solo cuando no se proporciona `code`. Predeterminado: 4.",
                        "minimum": 4,
                        "maximum": 8,
                        "default": 4,
                        "example": 6
                    },
                    "lang": {
                        "type": "string",
                        "description": "Idioma para la plantilla de mensaje predeterminada. Determina el idioma del texto SMS/Voz generado autom\u00e1ticamente cuando no se proporciona una `template` personalizada. No aplica para el canal `telegram` \u2014 Telegram siempre env\u00eda un mensaje del sistema en el idioma de la aplicaci\u00f3n Telegram del usuario.",
                        "default": "DE",
                        "enum": [
                            "EN",
                            "DE",
                            "FR",
                            "IT",
                            "ES",
                            "PL",
                            "NL",
                            "RO",
                            "PT",
                            "CS",
                            "HU",
                            "SV",
                            "DA",
                            "FI",
                            "SK",
                            "HR",
                            "TR",
                            "RU",
                            "BG",
                            "UK"
                        ],
                        "example": "EN"
                    },
                    "payload": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Datos personalizados que se almacenar\u00e1n con el c\u00f3digo de verificaci\u00f3n y se devolver\u00e1n en los eventos de webhook. \u00datil para correlacionar las solicitudes de verificaci\u00f3n con sus sistemas internos.",
                        "maxLength": 128,
                        "example": "session_abc123"
                    },
                    "is_code_deleted": {
                        "type": [
                            "boolean",
                            "null"
                        ],
                        "description": "Si es true, el c\u00f3digo de verificaci\u00f3n se eliminar\u00e1 del almacenamiento despu\u00e9s de haberse enviado al destinatario. Predeterminado: false.",
                        "default": false
                    },
                    "routing_strategy": {
                        "type": "array",
                        "description": "Lista ordenada de canales de entrega. Cada paso define un canal para intentar. Si un canal falla o expira, se intenta el siguiente paso. Se requiere al menos un paso. El canal `sms` solo puede ser el \u00faltimo paso. No se permiten canales duplicados.",
                        "items": {
                            "type": "object",
                            "required": [
                                "channel"
                            ],
                            "properties": {
                                "channel": {
                                    "type": "string",
                                    "description": "Canal de entrega para este paso.",
                                    "enum": [
                                        "telegram",
                                        "voice",
                                        "sms"
                                    ]
                                },
                                "timeout_sec": {
                                    "type": [
                                        "integer",
                                        "null"
                                    ],
                                    "description": "Tiempo en segundos para esperar una respuesta de este canal antes de recurrir al siguiente paso. Solo aplicable para el canal de telegram. Si no se establece, se utiliza un valor predeterminado del sistema.",
                                    "minimum": 30,
                                    "maximum": 3600,
                                    "default": 30,
                                    "example": 30
                                },
                                "sender_id": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "description": "Identificador del remitente para canales SMS y Voice. Para SMS, este es el n\u00famero de tel\u00e9fono o ID alfanum\u00e9rico del remitente que se muestra en el dispositivo del destinatario. Validado con los IDs de remitente permitidos de su cuenta.",
                                    "example": "LOX24"
                                },
                                "template": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "description": "Plantilla de mensaje personalizada para canales `sms` o `voice`. Use `{{code}}` como marcador de posici\u00f3n para el c\u00f3digo de verificaci\u00f3n. Si no se proporciona, se utiliza una plantilla traducida predeterminada basada en el campo `lang`. Para el canal `voice`, el texto se envuelve autom\u00e1ticamente en etiquetas SSML `<speak>`. Ignorado para el canal `telegram`.",
                                    "maxLength": 70,
                                    "example": "Your code is {{code}}"
                                }
                            }
                        }
                    }
                }
            },
            "property.common.api_version": {
                "type": "string",
                "description": "Versi\u00f3n de la estructura de datos de notificaci\u00f3n",
                "example": "2022-05-25"
            },
            "property.common.event_name": {
                "type": "string",
                "description": "Nombre del evento de Webhook"
            },
            "property.common.attempt_total": {
                "type": "integer",
                "description": "N\u00famero total de intentos de entrega de webhooks de notificaci\u00f3n",
                "minimum": 1,
                "maximum": 4,
                "example": 4
            },
            "property.common.attempt_number": {
                "type": "integer",
                "description": "N\u00famero de intento de notificaci\u00f3n webhook actual",
                "minimum": 1,
                "example": 1
            },
            "webhook.event": {
                "type": "object",
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "api_version": {
                        "$ref": "#/components/schemas/property.common.api_version"
                    },
                    "name": {
                        "$ref": "#/components/schemas/property.common.event_name"
                    },
                    "created_at": {
                        "$ref": "#/components/schemas/property.common.created_at"
                    },
                    "attempt_total": {
                        "$ref": "#/components/schemas/property.common.attempt_total"
                    },
                    "attempt_number": {
                        "$ref": "#/components/schemas/property.common.attempt_number"
                    },
                    "notification_task_id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Notification task identifier (request identifier)",
                        "example": "3378de83-de66-4de8-9d29-2b10d41bb641"
                    }
                }
            },
            "schema.webhooks.sms-delivery-data": {
                "type": "object",
                "description": "Data for sms.delivery and sms.delivery.dryrun events",
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "key_id": {
                        "$ref": "#/components/schemas/property.common.key_id"
                    },
                    "dlr_code": {
                        "$ref": "#/components/schemas/property.sms.dlr_code"
                    },
                    "status_code": {
                        "$ref": "#/components/schemas/property.sms.status_code"
                    },
                    "callback_data": {
                        "$ref": "#/components/schemas/property.common.callback_data"
                    }
                }
            },
            "schema.webhooks.sms-incoming-data": {
                "type": "object",
                "description": "Data for sms.incoming events",
                "properties": {
                    "id": {
                        "$ref": "#/components/schemas/property.common.uuid"
                    },
                    "to": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "from": {
                        "$ref": "#/components/schemas/property.common.phone_number"
                    },
                    "received_at": {
                        "$ref": "#/components/schemas/property.incomings.received_at"
                    },
                    "text": {
                        "$ref": "#/components/schemas/property.incomings.text"
                    },
                    "msg_uuid": {
                        "$ref": "#/components/schemas/property.incomings.msg_uuid"
                    }
                }
            },
            "schema.email2bulk": {
                "type": "object",
                "description": "Email object for bulk email events",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Email identifier"
                    },
                    "from": {
                        "type": "string",
                        "format": "email",
                        "description": "Sender email address"
                    },
                    "to": {
                        "type": "string",
                        "format": "email",
                        "description": "Destination email address"
                    },
                    "subject": {
                        "type": "string",
                        "description": "Email subject line"
                    },
                    "body": {
                        "type": "string",
                        "description": "Email body content"
                    }
                }
            },
            "schema.webhooks.bulk-email-parsing-fail-data": {
                "type": "object",
                "description": "Data for bulk.email.parsing.fail events",
                "properties": {
                    "field": {
                        "type": "string",
                        "description": "Field related to the error",
                        "example": "recipient"
                    },
                    "description": {
                        "type": "string",
                        "description": "Error description",
                        "example": "Invalid phone number format"
                    },
                    "email": {
                        "$ref": "#/components/schemas/schema.email2bulk"
                    }
                }
            },
            "schema.webhooks.bulk-email-parsing-success-data": {
                "type": "object",
                "description": "Data for bulk.email.parsing.success events",
                "properties": {
                    "bulk": {
                        "type": "object",
                        "description": "SMS Bulk response object",
                        "properties": {
                            "id": {
                                "$ref": "#/components/schemas/property.common.uuid"
                            },
                            "status": {
                                "$ref": "#/components/schemas/property.bulks.status_code"
                            },
                            "created_at": {
                                "$ref": "#/components/schemas/property.common.created_at"
                            }
                        }
                    },
                    "email": {
                        "$ref": "#/components/schemas/schema.email2bulk"
                    }
                }
            },
            "schema.webhooks.fraud-check-done-data": {
                "type": "object",
                "description": "Data for fraud-check.done events",
                "additionalProperties": true
            },
            "schema.webhooks.sms-email-parsing-success-data": {
                "type": "object",
                "description": "Data for sms.email.parsing.success events",
                "properties": {
                    "sms": {
                        "type": "array",
                        "description": "Array of SMS data from parsed email",
                        "items": {
                            "type": "object",
                            "properties": {
                                "uuid": {
                                    "$ref": "#/components/schemas/property.common.uuid"
                                },
                                "to": {
                                    "$ref": "#/components/schemas/property.common.phone_number"
                                },
                                "text": {
                                    "$ref": "#/components/schemas/property.sms.text"
                                }
                            }
                        }
                    },
                    "email": {
                        "$ref": "#/components/schemas/schema.email2bulk"
                    }
                }
            },
            "schema.webhooks.sms-email-parsing-fail-data": {
                "type": "object",
                "description": "Data for sms.email.parsing.fail events",
                "properties": {
                    "field": {
                        "type": "string",
                        "description": "Field related to the error",
                        "example": "recipient"
                    },
                    "description": {
                        "type": "string",
                        "description": "Error description",
                        "example": "Invalid phone number format"
                    },
                    "email": {
                        "$ref": "#/components/schemas/schema.email2bulk"
                    }
                }
            },
            "schema.webhooks.phone-unsubscribe-data": {
                "type": "object",
                "properties": {
                    "phone": {
                        "type": "string",
                        "description": "Phone number that unsubscribed",
                        "example": "+436766304011"
                    },
                    "user_id": {
                        "type": "integer",
                        "description": "ID of the user associated with the phone number",
                        "example": 2
                    },
                    "created_at": {
                        "type": "integer",
                        "description": "Unix timestamp when the unsubscribe occurred",
                        "example": 1757849748
                    },
                    "campaign_code": {
                        "type": "string",
                        "description": "Campaign code associated with the unsubscribe",
                        "example": "3KCKb5nMD"
                    },
                    "additional_data": {
                        "type": "object",
                        "properties": {
                            "reason": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "enum": [
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6
                                        ],
                                        "description": "Reason ID for unsubscribe. Possible values:\n- 1: I never subscribed\n- 2: Too many messages\n- 3: I am not interested\n- 4: Content is incomprehensible\n- 5: I don't like your company\n- 6: Other",
                                        "example": 4
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "Human-readable reason for unsubscribe",
                                        "example": "Content is incomprehensible"
                                    }
                                },
                                "required": [
                                    "id",
                                    "label"
                                ]
                            },
                            "additional_text": {
                                "type": "string",
                                "description": "Additional text provided by the user",
                                "example": "Additional text from user input"
                            }
                        },
                        "required": [
                            "reason",
                            "additional_text"
                        ]
                    },
                    "short_link_code": {
                        "type": "string",
                        "description": "Short link code associated with the unsubscribe",
                        "example": "baaIou"
                    },
                    "unsubscribe_request_id": {
                        "type": "integer",
                        "description": "ID of the unsubscribe request",
                        "example": 59
                    },
                    "group_id": {
                        "type": "integer",
                        "description": "ID of the group associated with the phone unsubscribe",
                        "example": 123
                    }
                },
                "required": [
                    "phone",
                    "user_id",
                    "created_at",
                    "campaign_code",
                    "additional_data",
                    "short_link_code",
                    "unsubscribe_request_id"
                ]
            },
            "schema.webhooks.phone-subscribe-data": {
                "type": "object",
                "properties": {
                    "phone": {
                        "type": "string",
                        "description": "Phone number that subscribed",
                        "example": "+99559122567"
                    },
                    "user_id": {
                        "type": "integer",
                        "description": "ID of the user associated with the phone number",
                        "example": 21911
                    },
                    "created_at": {
                        "type": "integer",
                        "description": "Unix timestamp when the subscribe occurred",
                        "example": 1757926648
                    },
                    "campaign_code": {
                        "type": "string",
                        "description": "Campaign code associated with the subscribe",
                        "example": "1dkGdCC2xnBc"
                    },
                    "additional_data": {
                        "type": "array",
                        "description": "Additional data related to the subscribe event",
                        "items": [],
                        "example": []
                    },
                    "short_link_code": {
                        "type": "string",
                        "description": "Short link code associated with the subscribe",
                        "example": "baaIoP"
                    },
                    "group_id": {
                        "type": "integer",
                        "description": "ID of the group associated with the phone subscribe",
                        "example": 123
                    }
                },
                "required": [
                    "phone",
                    "user_id",
                    "created_at",
                    "campaign_code",
                    "additional_data",
                    "short_link_code",
                    "group_id"
                ]
            },
            "schema.webhooks.verify-code-data": {
                "type": "object",
                "description": "Data for verify_code.success, verify_code.failed and verify_code.channel.updated events",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Verify code ID (UUID)",
                        "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
                    },
                    "user_id": {
                        "type": "integer",
                        "description": "User ID",
                        "example": 12345
                    },
                    "phone": {
                        "type": "string",
                        "description": "Phone number",
                        "example": "+4915112345678"
                    },
                    "routing_strategy": {
                        "type": "array",
                        "description": "Routing strategy configuration",
                        "items": {
                            "type": "object",
                            "properties": {
                                "channel": {
                                    "type": "string",
                                    "enum": [
                                        "telegram",
                                        "sms"
                                    ]
                                },
                                "timeout_sec": {
                                    "type": "integer",
                                    "description": "Timeout in seconds. Only applicable for the telegram channel."
                                },
                                "sender_id": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "status": {
                        "type": "integer",
                        "description": "Verify code status"
                    },
                    "delivered_channel": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Channel that delivered the code"
                    },
                    "cost": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Cost in cents"
                    },
                    "currency": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Currency code"
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Verification code"
                    },
                    "code_length": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Code length"
                    },
                    "payload": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Custom payload"
                    },
                    "created_at": {
                        "type": "integer",
                        "description": "Creation timestamp"
                    },
                    "updated_at": {
                        "type": "integer",
                        "description": "Last update timestamp"
                    },
                    "history": {
                        "type": "array",
                        "description": "Processing history",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "channel": {
                                    "type": "string"
                                },
                                "status": {
                                    "type": "integer"
                                },
                                "processed_at": {
                                    "type": "integer"
                                },
                                "external_id": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "is_code_deleted": {
                        "type": "boolean",
                        "description": "Whether the verification code has been deleted from storage after being sent."
                    }
                }
            },
            "schema.webhooks.verify-code-channel-data": {
                "type": "object",
                "description": "Data for verify_code.channel.sent, verify_code.channel.success and verify_code.channel.failed events",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Verify code ID (UUID)",
                        "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
                    },
                    "user_id": {
                        "type": "integer",
                        "description": "User ID",
                        "example": 12345
                    },
                    "phone": {
                        "type": "string",
                        "description": "Phone number",
                        "example": "+4915112345678"
                    },
                    "routing_strategy": {
                        "type": "array",
                        "description": "Routing strategy configuration",
                        "items": {
                            "type": "object",
                            "properties": {
                                "channel": {
                                    "type": "string",
                                    "enum": [
                                        "telegram",
                                        "sms"
                                    ]
                                },
                                "timeout_sec": {
                                    "type": "integer",
                                    "description": "Timeout in seconds. Only applicable for the telegram channel."
                                },
                                "sender_id": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "status": {
                        "type": "integer",
                        "description": "Verify code status"
                    },
                    "delivered_channel": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Channel that delivered the code"
                    },
                    "cost": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Cost in cents"
                    },
                    "currency": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Currency code"
                    },
                    "code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Verification code"
                    },
                    "code_length": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "Code length"
                    },
                    "payload": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Custom payload"
                    },
                    "created_at": {
                        "type": "integer",
                        "description": "Creation timestamp"
                    },
                    "updated_at": {
                        "type": "integer",
                        "description": "Last update timestamp"
                    },
                    "history": {
                        "type": "array",
                        "description": "Processing history",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "channel": {
                                    "type": "string"
                                },
                                "status": {
                                    "type": "integer"
                                },
                                "processed_at": {
                                    "type": "integer"
                                },
                                "external_id": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "is_code_deleted": {
                        "type": "boolean",
                        "description": "Whether the verification code has been deleted from storage after being sent."
                    },
                    "channel": {
                        "type": "object",
                        "description": "Channel-specific processing details",
                        "properties": {
                            "id": {
                                "type": "string",
                                "description": "History entry ID"
                            },
                            "channel": {
                                "type": "string",
                                "description": "Channel type",
                                "enum": [
                                    "telegram",
                                    "sms"
                                ]
                            },
                            "status": {
                                "type": "integer",
                                "description": "Channel processing status"
                            },
                            "processed_at": {
                                "type": "integer",
                                "description": "Processing timestamp"
                            },
                            "external_id": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "External provider ID"
                            },
                            "error": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Error message if failed"
                            },
                            "cost": {
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "description": "Cost for this channel in cents"
                            }
                        }
                    }
                }
            },
            "webhooks.phone-unsubscribe-data": {
                "properties": {
                    "phone": {
                        "description": "N\u00famero de tel\u00e9fono que se dio de baja"
                    },
                    "user_id": {
                        "description": "ID del usuario asociado con el n\u00famero de tel\u00e9fono"
                    },
                    "timestamp": {
                        "description": "Marca de tiempo Unix cuando ocurri\u00f3 la cancelaci\u00f3n"
                    },
                    "campaign_code": {
                        "description": "C\u00f3digo de campa\u00f1a asociado con la cancelaci\u00f3n"
                    },
                    "additional_data": {
                        "properties": {
                            "reason": {
                                "properties": {
                                    "id": {
                                        "description": "ID de motivo para la cancelaci\u00f3n. Valores posibles:\n- 1: Nunca me suscrib\u00ed\n- 2: Demasiados mensajes\n- 3: No me interesa\n- 4: El contenido es incomprensible\n- 5: No me gusta su empresa\n- 6: Otro motivo"
                                    },
                                    "label": {
                                        "description": "Motivo legible para la cancelaci\u00f3n"
                                    }
                                }
                            },
                            "additional_text": {
                                "description": "Texto adicional proporcionado por el usuario"
                            }
                        }
                    },
                    "short_link_code": {
                        "description": "C\u00f3digo de enlace corto asociado con la cancelaci\u00f3n"
                    },
                    "unsubscribe_request_id": {
                        "description": "ID de la solicitud de cancelaci\u00f3n"
                    },
                    "group_id": {
                        "description": "ID del grupo asociado con la cancelaci\u00f3n del tel\u00e9fono"
                    }
                }
            },
            "webhooks.phone-subscribe-data": {
                "properties": {
                    "phone": {
                        "description": "N\u00famero de tel\u00e9fono que se suscribi\u00f3"
                    },
                    "user_id": {
                        "description": "ID del usuario asociado con el n\u00famero de tel\u00e9fono"
                    },
                    "timestamp": {
                        "description": "Marca de tiempo Unix cuando ocurri\u00f3 la suscripci\u00f3n"
                    },
                    "campaign_code": {
                        "description": "C\u00f3digo de campa\u00f1a asociado con la suscripci\u00f3n"
                    },
                    "additional_data": {
                        "description": "Datos adicionales relacionados con el evento de suscripci\u00f3n"
                    },
                    "short_link_code": {
                        "description": "C\u00f3digo de enlace corto asociado con la suscripci\u00f3n"
                    },
                    "group_id": {
                        "description": "ID del grupo asociado con la suscripci\u00f3n del tel\u00e9fono"
                    }
                }
            }
        },
        "responses": {
            "401-unauthorized": {
                "description": "El ID de cliente o la clave API no est\u00e1n activos o no son v\u00e1lidos."
            },
            "403-forbidden": {
                "description": "La cuenta no est\u00e1 activada. Espere o p\u00f3ngase en contacto con el servicio de asistencia."
            },
            "429-too-many-requests": {
                "description": "La direcci\u00f3n IP fue bloqueada temporalmente, ya que durante poco tiempo se enviaron muchas solicitudes con credenciales no v\u00e1lidas. Espere y pruebe m\u00e1s tarde."
            },
            "400-bad-request": {
                "description": "Entrada no valida"
            },
            "422-unprocessable-entity": {
                "description": "La solicitud estaba bien formada pero no se pudo procesar debido a errores sem\u00e1nticos"
            },
            "404-not-found": {
                "description": "No se ha encontrado el recurso"
            },
            "204-deleted": {
                "description": "La entidad ha sido eliminada"
            },
            "402-not-enough-funds": {
                "description": "No hay fondos suficientes en su cuenta."
            },
            "409-conflict": {
                "description": "Conflict - Entity already exists"
            },
            "webhook-200": {
                "description": "Webhook recibido"
            },
            "webhook-400": {
                "description": "Estructura del cuerpo de la solicitud de webhook no v\u00e1lida"
            },
            "webhook-401": {
                "description": "Solicitud de webhook no autorizada"
            },
            "webhook-403": {
                "description": "Acceso Webhook prohibido"
            },
            "webhook-404": {
                "description": "No se ha encontrado el punto final del webhook"
            },
            "webhook-500": {
                "description": "Error del servidor"
            }
        },
        "examples": {
            "pricelist": {
                "summary": "Price list for Italy in CHF",
                "description": "Example response for /pricelist/it?currency=chf",
                "value": {
                    "country": "IT",
                    "name": "Italy",
                    "currency": "CHF",
                    "requirements": "Text Sender-ID needs to be registered. Only for companies with VAT and PEC in ITALY. Numeric sender-ID possible.",
                    "rates": {
                        "pro": [
                            0.06,
                            0.05,
                            0.049,
                            0.048
                        ],
                        "economy": [
                            0.05,
                            0.044,
                            0.043,
                            0.042
                        ],
                        "direct": [
                            0.072,
                            0.062,
                            0.061,
                            0.06
                        ],
                        "text2speech": [
                            0.038,
                            0.032,
                            0.031,
                            0.03
                        ]
                    }
                }
            },
            "example_sms_request_minimal": {
                "summary": "Mensaje SMS b\u00e1sico",
                "description": "Ejemplo de un mensaje SMS simple con solo campos obligatorios",
                "value": {
                    "text": "\u00a1Hola! Este es un SMS de prueba.",
                    "sender_id": "+491701234567",
                    "phone": "+14155552671"
                }
            },
            "example_sms_request_text2speech": {
                "summary": "Mensaje de voz con texto plano",
                "description": "Ejemplo de mensaje de voz de texto a voz con contenido de texto plano",
                "value": {
                    "text": "Hola, este mensaje ser\u00e1 convertido a voz y entregado como una llamada de voz.",
                    "sender_id": "+491701234567",
                    "phone": "+14155552671",
                    "service_code": "text2speech",
                    "voice_lang": "EN"
                }
            },
            "example_sms_request_text2speech_ssml": {
                "summary": "Mensaje de voz con SSML",
                "description": "Ejemplo de texto a voz con marcado SSML para s\u00edntesis de voz mejorada",
                "value": {
                    "text": "<speak>Su c\u00f3digo de verificaci\u00f3n es <say-as interpret-as=\"characters\">A1B2C3</say-as>.<break time=\"1s\"/>Por favor ingr\u00e9selo ahora.</speak>",
                    "sender_id": "+491701234567",
                    "phone": "+14155552671",
                    "service_code": "text2speech",
                    "voice_lang": "EN"
                }
            },
            "example_sms_request_text2speech_single_call": {
                "summary": "Mensaje de voz con llamada \u00fanica (sin reintentos)",
                "description": "Ejemplo de mensaje de voz de texto a voz con contenido de texto simple y un \u00fanico intento de entrega sin reintentos",
                "value": {
                    "text": "Hola, este mensaje se convertir\u00e1 en voz y se entregar\u00e1 como una llamada de voz.",
                    "sender_id": "+491701234567",
                    "phone": "+14155552671",
                    "service_code": "text2speech",
                    "voice_lang": "ES",
                    "attempts_count_max": 1
                }
            },
            "example_sms_request_unicode": {
                "summary": "Mensaje SMS Unicode",
                "description": "Ejemplo de SMS con caracteres Unicode (emojis, caracteres especiales, scripts no latinos)",
                "value": {
                    "text": "\\ud83c\\udf89 \u00a1Bienvenidos! Welcome! \\u6b22\\u8fce\\u5149\\u4e34! \\u0645\\u0631\\u062d\\u0628\\u0627 \\u0628\\u0643\\u0645!",
                    "sender_id": "+491701234567",
                    "phone": "+14155552671",
                    "is_unicode": true
                }
            },
            "example_sms_request_translit": {
                "summary": "Mensaje transliterado",
                "description": "Ejemplo de un mensaje con transliteraci\u00f3n de caracteres no GSM a un SMS GSM puro (v\u00e9ase el ejemplo de respuesta)",
                "value": {
                    "text": "No todos los caracteres especiales est\u00e1n incluidos en el conjunto de caracteres GSM, p.ej. solo el ap\u00f3strofe correcto: Auto de Anna funciona, pero no la casa de Max. Los acentos funcionan parcialmente: Andr\u00e9, pero no todos: H\u00e1ns. Los guiones normales - funcionan, pero no los m\u00e1s largos: \u2013",
                    "sender_id": "Test",
                    "phone": "+14155552671",
                    "is_unicode": false
                }
            },
            "example_sms_request_delete_text": {
                "summary": "Mensaje con eliminaci\u00f3n de texto",
                "description": "Ejemplo de SMS donde el texto del mensaje ser\u00e1 eliminado despu\u00e9s de la entrega por seguridad/privacidad",
                "value": {
                    "text": "Su c\u00f3digo de verificaci\u00f3n es: 123456. Este mensaje ser\u00e1 eliminado despu\u00e9s de la entrega.",
                    "sender_id": "+491701234567",
                    "phone": "+14155552671",
                    "is_text_deleted": true
                }
            },
            "example_sms_request_callback": {
                "summary": "SMS con datos de callback",
                "description": "Ejemplo de SMS con datos de callback para notificaciones de estado de entrega y seguimiento personalizado",
                "value": {
                    "text": "\u00a1Su pedido #12345 ha sido enviado y est\u00e1 en camino!",
                    "sender_id": "+491701234567",
                    "phone": "+14155552671",
                    "callback_data": "order_12345_shipping_notification"
                }
            },
            "example_sms_response_basic_sms_jsonld": {
                "summary": "Basic sms Message response",
                "description": "API response for a successfully request with minimum parameters",
                "value": {
                    "@context": "/contexts/sms",
                    "@id": "/sms/11111111-2222-3333-4444-555555555555",
                    "@type": "sms",
                    "text": "Hello! This is a test SMS message.",
                    "sender_id": "+19388888025",
                    "phone": "+14155552671",
                    "delivery_at": 0,
                    "status_code": 0,
                    "gateway_sent_at": 0,
                    "source": 0,
                    "dlr_code": 0,
                    "ip": "139.59.136.251",
                    "created_at": 1755868416,
                    "is_unicode": false,
                    "uuid": "11111111-2222-3333-4444-555555555555",
                    "iso2": "US",
                    "voice_lang": null,
                    "parts_count": 1,
                    "chars_count": 34,
                    "callback_data": null,
                    "bulk_id": null,
                    "key_id": 8291,
                    "service_code": "direct",
                    "is_text_deleted": false,
                    "price": 0.056,
                    "is_sent": false,
                    "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
                    "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
                }
            },
            "example_sms_response_translit_jsonld": {
                "summary": "Transliterated message response",
                "description": "API response for a successfully sent transliterated SMS message",
                "value": {
                    "@context": "/contexts/sms",
                    "@id": "/sms/11111111-2222-3333-4444-555555555555",
                    "@type": "sms",
                    "text": "Nicht alle Sonderzeichen sind im GSM Zeichensatz enthalten, z.B. nur das richtige Apostroph: Anna's Auto geht, aber nicht Max's Haus. Akzente gehen teilweise: Andr\u00e9, jedoch nicht alle: Hans. Normale Bindestriche - gehen, nicht allerdings l\u00e4ngere: -",
                    "sender_id": "Test",
                    "phone": "+491701234567",
                    "delivery_at": 0,
                    "status_code": 100,
                    "gateway_sent_at": 1755780931,
                    "source": 0,
                    "dlr_code": 16,
                    "ip": "1.1.1.1",
                    "created_at": 1755780931,
                    "is_unicode": false,
                    "uuid": "11111111-2222-3333-4444-555555555555",
                    "iso2": "DE",
                    "voice_lang": "DE",
                    "parts_count": 2,
                    "chars_count": 248,
                    "callback_data": null,
                    "bulk_id": null,
                    "key_id": 200100,
                    "service_code": "direct",
                    "is_text_deleted": false,
                    "price": 0.13,
                    "is_sent": true,
                    "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
                    "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
                }
            },
            "example_sms_response_delete_text_jsonld": {
                "summary": "Message with text deletion response",
                "description": "API response for a successfully sent SMS with text deletion enabled",
                "value": {
                    "@context": "/contexts/sms",
                    "@id": "/sms/11111111-2222-3333-4444-555555555555",
                    "@type": "sms",
                    "text": "",
                    "sender_id": "USSender",
                    "phone": "+14155552671",
                    "delivery_at": 0,
                    "status_code": 100,
                    "gateway_sent_at": 1755783151,
                    "source": 0,
                    "dlr_code": 0,
                    "ip": "139.59.136.251",
                    "created_at": 1755783151,
                    "is_unicode": false,
                    "uuid": "11111111-2222-3333-4444-555555555555",
                    "iso2": "US",
                    "voice_lang": null,
                    "parts_count": 1,
                    "chars_count": 79,
                    "callback_data": null,
                    "bulk_id": null,
                    "key_id": 8207,
                    "service_code": "direct",
                    "is_text_deleted": true,
                    "price": 0.07,
                    "is_sent": true,
                    "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
                    "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
                }
            },
            "example_sms_response_basic_sms": {
                "summary": "Basic sms Message response",
                "description": "API response for a successfully request with minimum parameters",
                "value": {
                    "text": "Hello! This is a test SMS message.",
                    "sender_id": "+19388888025",
                    "phone": "+14155552671",
                    "delivery_at": 0,
                    "status_code": 0,
                    "gateway_sent_at": 0,
                    "source": 0,
                    "dlr_code": 0,
                    "ip": "139.59.136.251",
                    "created_at": 1755868416,
                    "is_unicode": false,
                    "uuid": "11111111-2222-3333-4444-555555555555",
                    "iso2": "US",
                    "voice_lang": null,
                    "parts_count": 1,
                    "chars_count": 34,
                    "callback_data": null,
                    "bulk_id": null,
                    "key_id": 8291,
                    "service_code": "direct",
                    "is_text_deleted": false,
                    "price": 0.056,
                    "is_sent": false,
                    "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
                    "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
                }
            },
            "example_sms_response_translit": {
                "summary": "Respuesta de mensaje transliterado",
                "description": "Respuesta de la API para un mensaje SMS transliterado enviado exitosamente",
                "value": {
                    "text": "Nicht alle Sonderzeichen sind im GSM Zeichensatz enthalten, z.B. nur das richtige Apostroph: Anna's Auto geht, aber nicht Max's Haus. Akzente gehen teilweise: Andr\u00e9, jedoch nicht alle: Hans. Normale Bindestriche - gehen, nicht allerdings l\u00e4ngere: -",
                    "sender_id": "Test",
                    "phone": "+491701234567",
                    "delivery_at": 0,
                    "status_code": 100,
                    "gateway_sent_at": 1755780931,
                    "source": 0,
                    "dlr_code": 16,
                    "ip": "1.1.1.1",
                    "created_at": 1755780931,
                    "is_unicode": false,
                    "uuid": "11111111-2222-3333-4444-555555555555",
                    "iso2": "DE",
                    "voice_lang": "DE",
                    "parts_count": 2,
                    "chars_count": 248,
                    "callback_data": null,
                    "bulk_id": null,
                    "key_id": 200100,
                    "service_code": "direct",
                    "is_text_deleted": false,
                    "price": 0.13,
                    "is_sent": true,
                    "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
                    "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
                },
                "values": {
                    "text": "No todos los caracteres especiales estan incluidos en el conjunto de caracteres GSM, p.ej. solo el apostrofe correcto: Auto de Anna funciona, pero no la casa de Max. Los acentos funcionan parcialmente: Andr\u00e9, pero no todos: Hans. Los guiones normales - funcionan, pero no los mas largos: -"
                }
            },
            "example_sms_response_delete_text": {
                "summary": "Respuesta de mensaje con eliminaci\u00f3n de texto",
                "description": "Respuesta de la API para un SMS enviado exitosamente con eliminaci\u00f3n de texto habilitada",
                "value": {
                    "text": "",
                    "sender_id": "USSender",
                    "phone": "+14155552671",
                    "delivery_at": 0,
                    "status_code": 100,
                    "gateway_sent_at": 1755783151,
                    "source": 0,
                    "dlr_code": 0,
                    "ip": "139.59.136.251",
                    "created_at": 1755783151,
                    "is_unicode": false,
                    "uuid": "11111111-2222-3333-4444-555555555555",
                    "iso2": "US",
                    "voice_lang": null,
                    "parts_count": 1,
                    "chars_count": 79,
                    "callback_data": null,
                    "bulk_id": null,
                    "key_id": 8207,
                    "service_code": "direct",
                    "is_text_deleted": true,
                    "price": 0.07,
                    "is_sent": true,
                    "requests": "/sms/11111111-2222-3333-4444-555555555555/requests",
                    "clicks": "/sms/11111111-2222-3333-4444-555555555555/clicks"
                }
            },
            "example_verify_code_request": {
                "summary": "Verify code with multi-channel routing",
                "description": "Create a verification code with a 3-step routing strategy: Telegram, Voice, and SMS.",
                "value": {
                    "phone": "+491701234567",
                    "code": "1234",
                    "is_code_deleted": false,
                    "payload": "yours payload here",
                    "lang": "EN",
                    "routing_strategy": [
                        {
                            "channel": "telegram",
                            "timeout_sec": 30
                        },
                        {
                            "channel": "voice",
                            "sender_id": "LOX24",
                            "template": "Your code is {{code}}"
                        },
                        {
                            "channel": "sms",
                            "sender_id": "LOX24",
                            "template": "Your code is {{code}}"
                        }
                    ]
                }
            },
            "example_verify_code_request_telegram": {
                "summary": "Verify code via Telegram",
                "description": "Send a verification code through a Telegram bot. The code will be delivered as a Telegram message to the user's chat.",
                "value": {
                    "phone": "+491701234567",
                    "lang": "EN",
                    "routing_strategy": [
                        {
                            "channel": "telegram",
                            "timeout_sec": 60
                        }
                    ]
                }
            },
            "example_verify_code_request_voice": {
                "summary": "Verify code via Voice call",
                "description": "Deliver a verification code through an automated voice call. The code is read aloud to the recipient using a text-to-speech template.",
                "value": {
                    "phone": "+491701234567",
                    "code_length": 6,
                    "lang": "EN",
                    "routing_strategy": [
                        {
                            "channel": "voice",
                            "sender_id": "LOX24",
                            "template": "Your verification code is {{code}}"
                        }
                    ]
                }
            },
            "example_verify_code_response": {
                "summary": "Verify code response with multi-channel routing",
                "description": "Successful response after creating a verification code with a 3-step routing strategy. Telegram and voice channels failed, SMS succeeded.",
                "value": {
                    "id": "d7ad7539-fb8f-4dbb-a7f7-7c40babec969",
                    "user_id": 12345,
                    "phone": "+491701234567",
                    "routing_strategy": [
                        {
                            "channel": "telegram",
                            "timeout_sec": 30
                        },
                        {
                            "channel": "voice",
                            "sender_id": "LOX24",
                            "template": "Your code is {{code}}"
                        },
                        {
                            "channel": "sms",
                            "sender_id": "LOX24",
                            "template": "Your code is {{code}}"
                        }
                    ],
                    "status": 10,
                    "delivered_channel": "sms",
                    "cost": 120,
                    "currency": "EUR",
                    "code": "1234",
                    "code_length": 4,
                    "payload": "yours payload here",
                    "lang": "EN",
                    "created_at": 1779903448,
                    "updated_at": 1779903510,
                    "history": [
                        {
                            "id": "bccaff09-59f2-11f1-a685-7c10c91d54a1",
                            "channel": "telegram",
                            "status": 20,
                            "processed_at": 1779903478,
                            "external_id": "tg_msg_001"
                        },
                        {
                            "id": "bccaff09-59f2-11f1-a685-7c10c91d54a2",
                            "channel": "voice",
                            "status": 20,
                            "processed_at": 1779903490,
                            "external_id": "voice_msg_002"
                        },
                        {
                            "id": "bccaff09-59f2-11f1-a685-7c10c91d54a3",
                            "channel": "sms",
                            "status": 10,
                            "processed_at": 1779903510,
                            "external_id": "sms_msg_003"
                        }
                    ],
                    "is_code_deleted": false
                }
            },
            "webhooks.examples.sms-delivery-event": {
                "summary": "Evento de Entrega SMS",
                "description": "Evento enviado cuando cambia el estado de entrega del SMS",
                "value": {
                    "id": "a3cd6e19-8af2-498d-ad07-c7840f1b4ac8",
                    "api_version": "2022-05-25",
                    "name": "sms.delivery",
                    "created_at": 1653378603,
                    "attempt_total": 4,
                    "attempt_number": 1,
                    "data": {
                        "id": "d6c12ac4-cc7d-11ec-b6da-525400bbb7dc",
                        "key_id": 8207,
                        "dlr_code": 1,
                        "status_code": 100,
                        "callback_data": "some data from user's request here"
                    },
                    "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
                }
            },
            "webhooks.examples.sms-delivery-event-expired": {
                "summary": "Evento de Entrega SMS Expirada",
                "description": "Evento enviado cuando expira la entrega del SMS",
                "value": {
                    "id": "a3cd6e19-8af2-498d-ad07-c7840f1b4ac8",
                    "api_version": "2022-05-25",
                    "name": "sms.delivery",
                    "created_at": 1653378603,
                    "attempt_total": 4,
                    "attempt_number": 1,
                    "data": {
                        "id": "d6c12ac4-cc7d-11ec-b6da-525400bbb7dc",
                        "key_id": 8207,
                        "dlr_code": 8,
                        "status_code": 100,
                        "callback_data": "order-12345"
                    },
                    "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
                }
            },
            "webhooks.examples.sms-incoming-event": {
                "summary": "Evento de SMS Entrante",
                "description": "Evento enviado cuando se recibe un SMS entrante",
                "value": {
                    "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
                    "api_version": "2022-05-25",
                    "name": "sms.incoming",
                    "created_at": 1653378703,
                    "attempt_total": 1,
                    "attempt_number": 1,
                    "data": {
                        "id": "e7d23bd5-dd8e-22fd-c7eb-636511ccc8ed",
                        "to": "+1234567890",
                        "from": "+490987654321",
                        "text": "Hello, this is a reply message",
                        "received_at": 1653378703,
                        "msg_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
                    },
                    "notification_task_id": "4489ef94-ef77-5ef9-ae2a-3c21e52cc752"
                }
            },
            "webhooks.examples.bulk-email-parsing-fail-event": {
                "summary": "Evento de Fallo en An\u00e1lisis de Email Masivo",
                "description": "Evento enviado cuando falla el an\u00e1lisis de email masivo",
                "value": {
                    "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
                    "api_version": "2022-05-25",
                    "name": "bulk.email.parsing.fail",
                    "created_at": 1653378903,
                    "attempt_total": 1,
                    "attempt_number": 1,
                    "data": {
                        "field": "to",
                        "description": "Invalid phone number format",
                        "email": {
                            "id": "email-124",
                            "from": "sender@example.com",
                            "to": "bulk@your-domain.com",
                            "subject": "SMS Bulk Request",
                            "body": "Invalid message content"
                        }
                    },
                    "notification_task_id": "6601ab16-ca99-7fe1-cf4c-5e43f74ee974"
                }
            },
            "webhooks.examples.bulk-email-parsing-success-event": {
                "summary": "Evento de \u00c9xito en An\u00e1lisis de Email Masivo",
                "description": "Evento enviado cuando el email masivo se analiza exitosamente",
                "value": {
                    "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
                    "api_version": "2022-05-25",
                    "name": "bulk.email.parsing.success",
                    "created_at": 1653378803,
                    "attempt_total": 1,
                    "attempt_number": 1,
                    "data": {
                        "bulk": {
                            "id": "f8a34ce6-ee9f-33ae-d8fc-747622ddd9fe",
                            "status": 10,
                            "created_at": 1653378803
                        },
                        "email": {
                            "id": "email-123",
                            "from": "sender@example.com",
                            "to": "bulk@your-domain.com",
                            "subject": "SMS Bulk Request",
                            "body": "Message content here"
                        }
                    },
                    "notification_task_id": "5590fa05-fb88-6fc0-bf3b-4d32f63dd863"
                }
            },
            "webhooks.examples.fraud-check-done-event": {
                "summary": "Evento de Verificaci\u00f3n de Fraude Completada",
                "description": "Evento enviado cuando se completa la verificaci\u00f3n de detecci\u00f3n de fraude",
                "value": {
                    "id": "a7bc0d53-2ab6-822c-df31-a1284b5f8ea2",
                    "api_version": "2022-05-25",
                    "name": "fraud-check.done",
                    "created_at": 1653379003,
                    "attempt_total": 1,
                    "attempt_number": 1,
                    "data": {
                        "check_id": "fraud-check-123",
                        "result": "clean",
                        "confidence_score": 0.95
                    },
                    "notification_task_id": "7712ab27-cd00-8ef2-da5d-6f54f85ff085"
                }
            },
            "webhooks.examples.sms-email-parsing-success-event": {
                "summary": "SMS Email Parsing Success Event",
                "description": "Event sent when email to SMS parsing is successful",
                "value": {
                    "id": "d6ff9b42-1da5-711f-df20-f0173a4e7df1",
                    "api_version": "2022-05-25",
                    "name": "sms.email.parsing.success",
                    "created_at": 1653378803,
                    "attempt_total": 1,
                    "attempt_number": 1,
                    "data": {
                        "sms": [
                            {
                                "uuid": "f8a34ce6-ee9f-33ae-d8fc-747622ddd9fe",
                                "to": "+4915123456789",
                                "text": "Hello, this is your SMS message content parsed from email."
                            }
                        ],
                        "email": {
                            "id": "email-456",
                            "from": "sender@example.com",
                            "to": "sms@your-domain.com",
                            "subject": "SMS Request",
                            "body": "Send SMS to +4915123456789: Hello, this is your SMS message content parsed from email."
                        }
                    },
                    "notification_task_id": "5590fa05-fb88-6fc0-bf3b-4d32f63dd863"
                }
            },
            "webhooks.examples.sms-email-parsing-fail-event": {
                "summary": "SMS Email Parsing Fail Event",
                "description": "Event sent when email to SMS parsing fails",
                "value": {
                    "id": "a3cd6e19-8af2-498d-ad07-c7840f1b4ac8",
                    "api_version": "2022-05-25",
                    "name": "sms.email.parsing.fail",
                    "created_at": 1653378603,
                    "attempt_total": 1,
                    "attempt_number": 1,
                    "data": {
                        "field": "recipient",
                        "description": "Invalid phone number format",
                        "email": {
                            "id": "email-789",
                            "from": "sender@example.com",
                            "to": "sms@your-domain.com",
                            "subject": "SMS Request",
                            "body": "Send SMS to invalid-phone: Test message"
                        }
                    },
                    "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
                }
            },
            "webhooks.examples.verify-code-success-event": {
                "summary": "Verify Code Success Event",
                "description": "Event sent when the verification code was successfully delivered and verified",
                "value": {
                    "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                    "api_version": "2022-05-25",
                    "name": "verify_code.success",
                    "created_at": 1735689600,
                    "attempt_total": 3,
                    "attempt_number": 1,
                    "data": {
                        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                        "user_id": 12345,
                        "phone": "+4915112345678",
                        "routing_strategy": [
                            {
                                "channel": "telegram",
                                "timeout_sec": 30,
                                "sender_id": "LOX24"
                            },
                            {
                                "channel": "sms",
                                "timeout_sec": 60,
                                "sender_id": "LOX24"
                            }
                        ],
                        "status": 10,
                        "delivered_channel": "telegram",
                        "cost": 5,
                        "currency": "EUR",
                        "code": "1234",
                        "code_length": 4,
                        "payload": "session_abc123",
                        "created_at": 1735689540,
                        "updated_at": 1735689600,
                        "history": [
                            {
                                "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                                "channel": "telegram",
                                "status": 10,
                                "processed_at": 1735689570,
                                "external_id": "tg_msg_001"
                            }
                        ],
                        "is_code_deleted": false
                    },
                    "notification_task_id": "3378de83-de66-4de8-9d29-2b10d41bb641"
                }
            },
            "webhooks.examples.verify-code-failed-event": {
                "summary": "Verify Code Failed Event",
                "description": "Event sent when the verification code delivery failed across all channels",
                "value": {
                    "id": "c93a1f2e-4b5d-4c6a-8e7f-9d0a1b2c3d4e",
                    "api_version": "2022-05-25",
                    "name": "verify_code.failed",
                    "created_at": 1735689720,
                    "attempt_total": 3,
                    "attempt_number": 1,
                    "data": {
                        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                        "user_id": 12345,
                        "phone": "+4915112345678",
                        "routing_strategy": [
                            {
                                "channel": "telegram",
                                "timeout_sec": 30,
                                "sender_id": "LOX24"
                            },
                            {
                                "channel": "sms",
                                "timeout_sec": 60,
                                "sender_id": "LOX24"
                            }
                        ],
                        "status": 20,
                        "delivered_channel": null,
                        "cost": 5,
                        "currency": "EUR",
                        "code": "5678",
                        "code_length": 4,
                        "payload": null,
                        "created_at": 1735689540,
                        "updated_at": 1735689720,
                        "history": [
                            {
                                "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                                "channel": "telegram",
                                "status": 20,
                                "processed_at": 1735689570,
                                "external_id": "tg_msg_002"
                            },
                            {
                                "id": "b5a6c7d8-e9f0-1234-abcd-ef5678901234",
                                "channel": "sms",
                                "status": 20,
                                "processed_at": 1735689660,
                                "external_id": "sms_msg_003"
                            }
                        ],
                        "is_code_deleted": false
                    },
                    "notification_task_id": "44a9ef94-ef77-5ef9-0e3a-3c21d52cc752"
                }
            },
            "webhooks.examples.verify-code-channel-updated-event": {
                "summary": "Verify Code Channel Updated Event",
                "description": "Event sent when the verification code task status changes during processing",
                "value": {
                    "id": "a7b8c9d0-1e2f-4a3b-4c5d-6e7f8a9b0c1d",
                    "api_version": "2022-05-25",
                    "name": "verify_code.channel.updated",
                    "created_at": 1735689650,
                    "attempt_total": 3,
                    "attempt_number": 1,
                    "data": {
                        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                        "user_id": 12345,
                        "phone": "+4915112345678",
                        "routing_strategy": [
                            {
                                "channel": "telegram",
                                "timeout_sec": 30,
                                "sender_id": "LOX24"
                            },
                            {
                                "channel": "sms",
                                "timeout_sec": 60,
                                "sender_id": "LOX24"
                            }
                        ],
                        "status": 5,
                        "delivered_channel": null,
                        "cost": 10,
                        "currency": "EUR",
                        "code": "1234",
                        "code_length": 4,
                        "payload": "session_abc123",
                        "created_at": 1735689540,
                        "updated_at": 1735689650,
                        "history": [
                            {
                                "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                                "channel": "telegram",
                                "status": 20,
                                "processed_at": 1735689575,
                                "external_id": "tg_msg_001"
                            },
                            {
                                "id": "b5a6c7d8-e9f0-1234-abcd-ef5678901234",
                                "channel": "sms",
                                "status": 5,
                                "processed_at": 1735689640,
                                "external_id": "sms_msg_002"
                            }
                        ],
                        "is_code_deleted": false
                    },
                    "notification_task_id": "88edf307-fd11-4fd1-0a7e-7b65f96ff086"
                }
            },
            "webhooks.examples.verify-code-channel-sent-event": {
                "summary": "Verify Code Channel Sent Event",
                "description": "Event sent when the verification code was dispatched through a specific channel",
                "value": {
                    "id": "d04b2f3e-5c6d-4d7b-9f8a-0e1b2c3d4e5f",
                    "api_version": "2022-05-25",
                    "name": "verify_code.channel.sent",
                    "created_at": 1735689555,
                    "attempt_total": 3,
                    "attempt_number": 1,
                    "data": {
                        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                        "user_id": 12345,
                        "phone": "+4915112345678",
                        "routing_strategy": [
                            {
                                "channel": "telegram",
                                "timeout_sec": 30,
                                "sender_id": "LOX24"
                            },
                            {
                                "channel": "sms",
                                "timeout_sec": 60,
                                "sender_id": "LOX24"
                            }
                        ],
                        "status": 5,
                        "delivered_channel": null,
                        "cost": 5,
                        "currency": "EUR",
                        "code": "1234",
                        "code_length": 4,
                        "payload": "session_abc123",
                        "created_at": 1735689540,
                        "updated_at": 1735689555,
                        "history": [
                            {
                                "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                                "channel": "telegram",
                                "status": 10,
                                "processed_at": 1735689555,
                                "external_id": "tg_msg_001"
                            }
                        ],
                        "is_code_deleted": false,
                        "channel": {
                            "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                            "channel": "telegram",
                            "status": 10,
                            "processed_at": 1735689555,
                            "external_id": "tg_msg_001",
                            "error": null,
                            "cost": 5
                        }
                    },
                    "notification_task_id": "55baf095-fa88-6fa9-1f4b-4d32e63dd863"
                }
            },
            "webhooks.examples.verify-code-channel-success-event": {
                "summary": "Verify Code Channel Success Event",
                "description": "Event sent when a specific channel has confirmed successful delivery of the verification code",
                "value": {
                    "id": "b3e4f5a6-7c8d-4e9f-0a1b-2c3d4e5f6a7b",
                    "api_version": "2022-05-25",
                    "name": "verify_code.channel.success",
                    "created_at": 1735689575,
                    "attempt_total": 3,
                    "attempt_number": 1,
                    "data": {
                        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                        "user_id": 12345,
                        "phone": "+4915112345678",
                        "routing_strategy": [
                            {
                                "channel": "telegram",
                                "timeout_sec": 30,
                                "sender_id": "LOX24"
                            },
                            {
                                "channel": "sms",
                                "timeout_sec": 60,
                                "sender_id": "LOX24"
                            }
                        ],
                        "status": 10,
                        "delivered_channel": "telegram",
                        "cost": 5,
                        "currency": "EUR",
                        "code": "1234",
                        "code_length": 4,
                        "payload": "session_abc123",
                        "created_at": 1735689540,
                        "updated_at": 1735689575,
                        "history": [
                            {
                                "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                                "channel": "telegram",
                                "status": 10,
                                "processed_at": 1735689570,
                                "external_id": "tg_msg_001"
                            }
                        ],
                        "is_code_deleted": false,
                        "channel": {
                            "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                            "channel": "telegram",
                            "status": 10,
                            "processed_at": 1735689570,
                            "external_id": "tg_msg_001",
                            "error": null,
                            "cost": 5
                        }
                    },
                    "notification_task_id": "66cbf195-fb99-4fb9-8a5c-5e43f74ee864"
                }
            },
            "webhooks.examples.verify-code-channel-failed-event": {
                "summary": "Verify Code Channel Failed Event",
                "description": "Event sent when a specific channel has failed to deliver the verification code",
                "value": {
                    "id": "e5f6a7b8-9c0d-4e1f-2a3b-4c5d6e7f8a9b",
                    "api_version": "2022-05-25",
                    "name": "verify_code.channel.failed",
                    "created_at": 1735689630,
                    "attempt_total": 3,
                    "attempt_number": 1,
                    "data": {
                        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                        "user_id": 12345,
                        "phone": "+4915112345678",
                        "routing_strategy": [
                            {
                                "channel": "telegram",
                                "timeout_sec": 30,
                                "sender_id": "LOX24"
                            },
                            {
                                "channel": "sms",
                                "timeout_sec": 60,
                                "sender_id": "LOX24"
                            }
                        ],
                        "status": 5,
                        "delivered_channel": null,
                        "cost": 5,
                        "currency": "EUR",
                        "code": "1234",
                        "code_length": 4,
                        "payload": "session_abc123",
                        "created_at": 1735689540,
                        "updated_at": 1735689630,
                        "history": [
                            {
                                "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                                "channel": "telegram",
                                "status": 20,
                                "processed_at": 1735689575,
                                "external_id": "tg_msg_001"
                            }
                        ],
                        "is_code_deleted": false,
                        "channel": {
                            "id": "a1b2c3d4-d5e6-7890-abcd-ef1234567890",
                            "channel": "telegram",
                            "status": 20,
                            "processed_at": 1735689575,
                            "external_id": "tg_msg_001",
                            "error": "Delivery timeout: no confirmation received within 30 seconds",
                            "cost": 5
                        }
                    },
                    "notification_task_id": "77dcf296-fc00-4fc0-9b6d-6f54e85ff975"
                }
            },
            "example_sms_request_basic_sms": {
                "summary": "Respuesta b\u00e1sica de mensaje SMS",
                "description": "Respuesta de la API para una solicitud exitosa con par\u00e1metros m\u00ednimos",
                "value": {
                    "text": "\u00a1Hola! Este es un mensaje SMS de prueba."
                }
            }
        }
    },
    "x-doc-version": "2.24 (20251210)",
    "x-tagGroups": [
        {
            "name": "user-info",
            "x-displayName": "Informaci\u00f3n del usuario",
            "tags": [
                "user"
            ]
        },
        {
            "name": "prices",
            "x-displayName": "Precios",
            "tags": [
                "pricelist"
            ]
        },
        {
            "name": "messages",
            "x-displayName": "Mensajes",
            "tags": [
                "sms",
                "bulks",
                "incomings",
                "blocked-numbers"
            ]
        },
        {
            "name": "phone-groups",
            "x-displayName": "N\u00fameros de tel\u00e9fono y grupos",
            "tags": [
                "groups",
                "phones"
            ]
        },
        {
            "name": "shortlinks",
            "x-displayName": "Enlaces cortos",
            "tags": [
                "send-link",
                "campaigns",
                "links",
                "requests",
                "click-rate"
            ]
        },
        {
            "name": "fraud-checks",
            "x-displayName": "Comprobaciones de fraude",
            "tags": [
                "fraud-detection"
            ]
        },
        {
            "name": "verify-codes",
            "x-displayName": "C\u00f3digos de verificaci\u00f3n",
            "tags": [
                "verify-codes"
            ]
        },
        {
            "name": "misc",
            "x-displayName": "Varios",
            "tags": [
                "collection-filters",
                "sms-status-codes",
                "sms-delivery-report-codes-dlr",
                "encoding-and-number-of-characters",
                "inbound-and-reply-sms",
                "kannel",
                "ssml-language-detection",
                "email-to-sms",
                "notifications",
                "release-notes"
            ]
        }
    ]
}