> ## Documentation Index
> Fetch the complete documentation index at: https://docs.olostep.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear Horario

> Crea un nuevo horario para ejecutar llamadas a la API en momentos específicos. Soporta tanto ejecuciones únicas como horarios recurrentes usando expresiones cron. También puedes usar texto en lenguaje natural para generar expresiones cron automáticamente.



## OpenAPI

````yaml es/openapi/schedules.json POST /v1/schedules
openapi: 3.0.3
info:
  title: API de Horarios
  version: 1.0.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/schedules:
    post:
      summary: Crear Horario
      description: >-
        Crea un nuevo horario para ejecutar llamadas de API en momentos
        específicos. Soporta tanto ejecuciones únicas como horarios recurrentes
        usando expresiones cron. También puedes usar texto en lenguaje natural
        para generar expresiones cron automáticamente. Para solicitudes POST,
        puedes usar los endpoints de Olostep en forma corta (por ejemplo,
        'v1/scrapes') que serán prefijados automáticamente, o proporcionar una
        URL completa. La carga útil puede contener cualquier estructura JSON que
        quieras enviar.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - GET
                    - POST
                  description: >-
                    Método HTTP para la llamada de API programada. Debe ser GET
                    o POST.
                endpoint:
                  type: string
                  description: >-
                    La URL del endpoint a llamar cuando se ejecute el horario.
                    Para solicitudes POST con endpoints de Olostep, puedes usar
                    la forma corta (por ejemplo, 'v1/scrapes', 'v1/batches',
                    'v1/crawls', 'v1/maps', 'v1/answers') que será prefijada
                    automáticamente con 'https://api.olostep.com/'. Para otros
                    endpoints, proporciona la URL completa.
                payload:
                  type: object
                  description: >-
                    La carga útil para enviar con la llamada de API. Puede
                    contener cualquier estructura JSON que necesites. Para
                    solicitudes GET, esto suele estar vacío. Para solicitudes
                    POST, esto debe contener los datos que quieres enviar al
                    endpoint.
                  default: {}
                cron_expression:
                  type: string
                  description: >-
                    Expresión cron en formato de 6 campos (minuto hora día mes
                    día-de-la-semana año) para horarios recurrentes. Requerido
                    para horarios recurrentes. Mutuamente exclusivo con
                    execute_at y text.
                execute_at:
                  type: string
                  format: date-time
                  description: >-
                    Cadena de fecha y hora ISO 8601 para la ejecución de un
                    horario único. Debe ser una fecha y hora futura válida.
                    Requerido para horarios únicos. Mutuamente exclusivo con
                    cron_expression.
                expression_timezone:
                  type: string
                  description: >-
                    Identificador de zona horaria IANA (por ejemplo, 'UTC',
                    'America/New_York', 'Europe/London') para el horario.
                    Requerido para horarios recurrentes, opcional para horarios
                    únicos. Al usar texto en lenguaje natural, esto por defecto
                    es 'UTC'.
                text:
                  type: string
                  description: >-
                    Texto en lenguaje natural para generar automáticamente una
                    expresión cron. El sistema convertirá tu texto en una
                    expresión cron válida. Ejemplos: 'cada 3 minutos', 'todos
                    los días a las 10am', 'todos los lunes a las 9am'.
                    Mutuamente exclusivo con cron_expression y execute_at.
                    Cuando se usa, expression_timezone por defecto es 'UTC'.
              required:
                - method
                - endpoint
      responses:
        '200':
          description: Horario creado exitosamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Identificador único del horario
                  type:
                    type: string
                    enum:
                      - recurring
                      - onetime
                    description: >-
                      Tipo de horario: 'recurring' para horarios basados en
                      cron, 'onetime' para horarios de ejecución única
                  method:
                    type: string
                    enum:
                      - GET
                      - POST
                    description: Método HTTP para la llamada programada
                  endpoint:
                    type: string
                    description: La URL del endpoint que será llamada
                  cron_expression:
                    type: string
                    description: Expresión cron (solo presente para horarios recurrentes)
                  execute_at:
                    type: string
                    format: date-time
                    description: >-
                      Fecha y hora de ejecución (solo presente para horarios
                      únicos)
                  expression_timezone:
                    type: string
                    description: Zona horaria para el horario
                  created:
                    type: string
                    format: date-time
                    description: Fecha y hora ISO 8601 cuando se creó el horario
        '400':
          description: >-
            Solicitud incorrecta debido a parámetros incorrectos o faltantes.
            Errores comunes: método inválido, endpoint faltante, cron_expression
            inválida, datetime execute_at inválido, zona horaria inválida, o
            formato de schedule_id inválido.
        '401':
          description: >-
            Clave de API inválida. Intenta verificarla o contacta a
            info@olostep.com si tienes problemas.
        '500':
          description: Error interno del servidor al crear el horario.
      security:
        - Authorization: []
components:
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Encabezado de autenticación Bearer de la forma Bearer <token>, donde
        <token> es tu token de autenticación.

````