Skip to main content
PUT
Salva workspace
PUT https://api-datahub.octoparse.com/v1/data-apps/{app_id}/workspace Autenticazione: API key obbligatoria (Authorization: Bearer <API Key>). Solo autore dell’app; gli altri ricevono 404. Salva la bozza mutabile. I save non sono mai rifiutati per fallimento di validazione: la validazione completa gira e il risultato (valid / issues) torna nella response. “Salva una bozza a metà e torna dopo” è garanzia del modello. L’identità app nasce implicitamente al primo save — non c’è un endpoint separato “create app”. Solo tre hard gate restituiscono 400: l’account ha uno username, il payload è entro i limiti di size e i nomi file allegati sono validi. identity.app_name nel manifest non è più confrontato col path: il nome di route segue il riferimento e il nome dichiarato nel file è consumato solo in creazione. expected_revision offre concurrency ottimistica (409 revision-conflict) così più tab non si sovrascrivono in silenzio. I secret allegati solo se il save è valido; i nomi non memorizzati in secrets_deferred. Le app deprecated restano editabili; solo i nuovi Release sono rifiutati.

Richiesta

Parametri di percorso

string
obbligatorio
Riferimento app: app_<hex> oppure <namespace>/<app_name>. Use the latter on first save.

Body della richiesta

string
obbligatorio
Testo grezzo del manifest.
object
File allegati: le chiavi sono percorsi relativi, i valori sono contenuti testuali.
object
Mappa da nomi secret a valori in chiaro. Memorizzata solo se questo save è valido.
integer
Expected current draft revision. Mismatch restituisce 409.

Esempio di richiesta

Risposta

200 successo

Il payload è wrappato in data. Campi:
string
obbligatorio
string
obbligatorio
ID app stabile.
string
integer
obbligatorio
Revisione del draft dopo il salvataggio.
boolean
obbligatorio
Se il contenuto corrente ha superato la validazione.
object[]
Elenco dei problemi.
string[]
string[]
Nomi secret non memorizzati perché questo save non era valido.
string

Errori

Le risposte di errore usano {"error": {code, category, message, retryable}}. Vedi Errori.

Librerie client

Gli SDK Python e JavaScript non wrappano ancora questo endpoint. Chiama REST direttamente.