> ## 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.

# Crea Programma

> Crea un nuovo programma per eseguire chiamate API a orari specificati. Supporta sia esecuzioni una tantum che programmi ricorrenti utilizzando espressioni cron. Puoi anche usare testo in linguaggio naturale per generare automaticamente espressioni cron.



## OpenAPI

````yaml it/openapi/schedules.json POST /v1/schedules
openapi: 3.0.3
info:
  title: API degli Orari
  version: 1.0.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/schedules:
    post:
      summary: Crea Orario
      description: >-
        Crea un nuovo orario per eseguire chiamate API a tempi specificati.
        Supporta sia esecuzioni una tantum che orari ricorrenti usando
        espressioni cron. Puoi anche usare testo in linguaggio naturale per
        generare automaticamente espressioni cron. Per le richieste POST, puoi
        usare gli endpoint Olostep in forma breve (es. 'v1/scrapes') che
        verranno automaticamente prefissati, oppure fornire un URL completo. Il
        payload può contenere qualsiasi struttura JSON che vuoi inviare.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - GET
                    - POST
                  description: >-
                    Metodo HTTP per la chiamata API programmata. Deve essere GET
                    o POST.
                endpoint:
                  type: string
                  description: >-
                    L'URL dell'endpoint da chiamare quando l'orario viene
                    eseguito. Per le richieste POST con endpoint Olostep, puoi
                    usare la forma breve (es. 'v1/scrapes', 'v1/batches',
                    'v1/crawls', 'v1/maps', 'v1/answers') che verrà
                    automaticamente prefissata con 'https://api.olostep.com/'.
                    Per altri endpoint, fornisci l'URL completo.
                payload:
                  type: object
                  description: >-
                    Il payload da inviare con la chiamata API. Può contenere
                    qualsiasi struttura JSON di cui hai bisogno. Per le
                    richieste GET, questo è tipicamente vuoto. Per le richieste
                    POST, questo dovrebbe contenere i dati che vuoi inviare
                    all'endpoint.
                  default: {}
                cron_expression:
                  type: string
                  description: >-
                    Espressione cron nel formato a 6 campi (minuto ora giorno
                    mese giorno-della-settimana anno) per orari ricorrenti.
                    Necessario per orari ricorrenti. Mutuamente esclusivo con
                    execute_at e text.
                execute_at:
                  type: string
                  format: date-time
                  description: >-
                    Stringa datetime ISO 8601 per l'esecuzione di un orario una
                    tantum. Deve essere un datetime futuro valido. Necessario
                    per orari una tantum. Mutuamente esclusivo con
                    cron_expression.
                expression_timezone:
                  type: string
                  description: >-
                    Identificatore del fuso orario IANA (es. 'UTC',
                    'America/New_York', 'Europe/London') per l'orario.
                    Necessario per orari ricorrenti, opzionale per orari una
                    tantum. Quando si usa testo in linguaggio naturale, questo
                    predefinisce 'UTC'.
                text:
                  type: string
                  description: >-
                    Testo in linguaggio naturale per generare automaticamente
                    un'espressione cron. Il sistema convertirà il tuo testo in
                    un'espressione cron valida. Esempi: 'ogni 3 minuti', 'ogni
                    giorno alle 10am', 'ogni lunedì alle 9am'. Mutuamente
                    esclusivo con cron_expression e execute_at. Quando usato,
                    expression_timezone predefinisce 'UTC'.
              required:
                - method
                - endpoint
      responses:
        '200':
          description: Orario creato con successo.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Identificatore unico dell'orario
                  type:
                    type: string
                    enum:
                      - recurring
                      - onetime
                    description: >-
                      Tipo di orario: 'recurring' per orari basati su cron,
                      'onetime' per orari di esecuzione singola
                  method:
                    type: string
                    enum:
                      - GET
                      - POST
                    description: Metodo HTTP per la chiamata programmata
                  endpoint:
                    type: string
                    description: L'URL dell'endpoint che verrà chiamato
                  cron_expression:
                    type: string
                    description: Espressione cron (presente solo per orari ricorrenti)
                  execute_at:
                    type: string
                    format: date-time
                    description: >-
                      Datetime di esecuzione (presente solo per orari una
                      tantum)
                  expression_timezone:
                    type: string
                    description: Fuso orario per l'orario
                  created:
                    type: string
                    format: date-time
                    description: Datetime ISO 8601 quando l'orario è stato creato
        '400':
          description: >-
            Richiesta errata a causa di parametri errati o mancanti. Errori
            comuni: metodo non valido, endpoint mancante, cron_expression non
            valida, datetime execute_at non valido, fuso orario non valido, o
            formato schedule_id non valido.
        '401':
          description: >-
            Chiave API non valida. Prova a ricontrollarla o contatta
            info@olostep.com se hai problemi.
        '500':
          description: Errore interno del server durante la creazione del programma.
      security:
        - Authorization: []
components:
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Intestazione di autenticazione Bearer del tipo Bearer <token>, dove
        <token> è il tuo token di autenticazione.

````