POST/v1/sources
Luo lähde
create_source
Organisaation API-avaimella (versiosta 1.62.0 alkaen) käytettävissä on vain mukautettu lähde (kind: custom): avaimella täytyy olla admin-rooli ja admin-käyttöalue. Mikä tahansa muu lähdelaji palauttaa 400 sources.kind_not_allowed_for_key; liittimet, jotka kirjautuvat palveluntarjoajan tilillä, määritetään selaimessa. Liittimien kenttiä ei näytetä julkisessa määrittelyssä. Mukautettu lähde ottaa vastaan name-kentän, kokoelman (collection_id tai collection), käyttöoikeustilan permissions_mode, korttien kokoelmakansion (folder_id ja folder_mode) ja valitut asiakirjakansiot (roots). Asiakirjat lähetetään /v1/push/sources/{source_id}/*-toiminnoilla.
Todennus
Lähetä API-avain Authorization-otsakkeessa: Authorization: Bearer <avain>.
Otsakeparametrit
X-View-AsstringVain API-avaimille, joilla on
admin-rooli. Suorittaa pyynnön dataprofiilin<profile>[:viewer|verifier|editor]puolesta, esimerkiksiemployee:viewer. Asennusavain ei voi käyttää tätä otsaketta (403).Idempotency-KeystringAvain kirjoituksen turvalliseen uusintayritykseen: 1–255 tulostettavaa ASCII-merkkiä; suositus on yksi UUID v4 jokaista loogista toimintoa kohden. Uusintayritys samalla avaimella 24 tunnin kuluessa ei suorita toimintoa uudelleen: se palauttaa tallennetun vastauksen (tila, otsakkeet ja runko)
Idempotency-Replayed: true-otsakkeella. Sama avain eri metodilla, polulla,Content-Type-arvolla tai rungolla palauttaa409 api.idempotency_mismatch; kun ensimmäinen pyyntö on vielä käynnissä, vastaus on409 api.idempotency_in_progressjaRetry-After: 1. 5xx- tai 429-vastauksen jälkeen avain vapautuu, ja uusintayritys suorittaa toiminnon uudelleen. Avain on sidottu organisaatioon ja kutsujaan (API-avain, käyttäjä tai mukautetun lähteen avain).length ≥ 1, length ≤ 255
Evästeparametrit
kb_view_asstringIstunnon ”View as” -tilan eväste.
POST /auth/view-asasettaa sen jaDELETE /auth/view-aspoistaa sen.
Pyynnön runko
application/json
kindstringLähteen laji (ks. SourceKind); organisaation API-avaimella vain
custom.Oletus: "gdrive"
namestringpakollinenlength ≥ 1, length ≤ 120
collectionstringLähteen kokoelman nimi; sen sijaan voi välittää
collection_id-kentän (versiosta 1.62.0 alkaen).length ≥ 1, length ≤ 64
collection_idintegerLähteen kokoelma tunnuksen mukaan (versiosta 1.62.0 alkaen); jos molemmat välitetään,
collection_idratkaisee.permissions_modestringLähteen korttien käyttöoikeustila (versiosta 1.62.0 alkaen, kuten
update_source_settings-toiminnossa):ownkäyttää kokoelman käyttöoikeuksia,mirrorottaa ne asiakirjasta (permissions).mirror-tilan valinta edellyttää oikeutta hallita kokoelman käyttöoikeuksia.Sallitut arvot:
ownmirrordefault_owner_idinteger | nullverify_interval_daysintegerOletus: 90≥ 1, ≤ 3650
tagsarray of stringOletus: []
default_categorystring | nullrootsarray of string | nullLähteen valitut kansiot: vain niiden sisällä olevista kohteista tulee kortteja. Mukautetussa lähteessä asiakirjojen kansiopolut (
Guides/Billing); liittimissä palveluntarjoajan puun solmut.folder_idstring | nullLähteen kokoelman kansio, johon kortit sijoitetaan (null tarkoittaa kokoelman juurta).
folder_modestringflatsijoittaa kaiken valittuun kansioon;mirrorluo kansiot, jotka toistavat kohteen polun lähteessä, enintään kansioiden sisäkkäisyysrajan syvyyteen (3 tasoa; syvemmät kohteet menevät lähimpään kansioon).Sallitut arvot:
flatmirrorOletus: "flat"
Vastaukset
200Onnistunut vastaus
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
Idempotency-Replayedtruetarkoittaa, että vastaus toistettiin tälleIdempotency-Key-arvolle tallennetusta vastauksesta: toimintoa ei suoritettu uudelleen.
400Pyyntö on virheellinen: parametrin arvo tai objektin tila ei salli toimenpidettä (`detail` on viesti).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
401Tunnistetietoja ei lähetetty (ei istuntoevästettä eikä API-avainta), tai avainta ei löytynyt.
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
403Toimenpide ei ole sallittu: rooli ei riitä, kokoelmaan tai korttiin ei ole käyttöoikeutta, pyyntö suoritetaan ”View as” -tilassa, tai organisaation toiminta on keskeytetty tai organisaatio on poistettu (`detail` on objekti, jossa on `code: org_suspended | org_deleted`).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
404Objektia ei ole tai se ei ole saatavillasi. API ei paljasta, onko rajoitettu objekti olemassa.
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
422Validointivirhe: runko tai parametrit eivät vastaa skeemaa (`detail` on validointivirheiden lista), tai parametrin arvo on sallitun alueen ulkopuolella (`detail` on viesti).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
429Liian monta pyyntöä (`api.rate_limited`), organisaation minuutti-, päivä- tai kuukausikiintiö on käytetty (`api.quota_exceeded`; `error.details` sisältää kentät `quota`, `limit` ja `reset_at`), organisaation raja on saavutettu tai vastauspalvelu on kuormitettu (`answers.engine_busy`). Odota `Retry-After`-otsakkeen ilmoittama aika.
Vastausotsakkeet
Retry-AfterKuinka monta sekuntia odotetaan ennen pyynnön uusintayritystä.
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
Virhekoodit
Koodit, jotka tämä päätepiste voi palauttaa error.code-kentässä kaikkien pyyntöjen yleisten koodien lisäksi.
- 400sources.kind_not_allowed_for_key
- 403api_keys.scope
- 401auth.not_authenticated
- 403auth.system_scope
- 400categories.unknown
- 403collections.no_access
- 404collections.not_found
- 403org.deleted
- 403org.suspended
- 400sources.invalid_config
- 400sources.connection_kind_mismatch
- 404sources.connection_not_found
- 403sources.connection_not_usable
- 403sources.feature_disabled
- 400sources.folder_invalid
- 402limits.sources
- 402limits.sources_instant
- 400users.inactive_assignment
- 400users.not_in_org
- 403view_as.read_only
Turvalliset uusintayritykset
Lähetä jokaisen POST- ja PATCH-pyynnön mukana Idempotency-Key-otsake (esimerkiksi UUID). Kun pyyntö toistetaan samalla avaimella 24 tunnin kuluessa, palautetaan tallennettu vastaus eikä pyyntöä suoriteta uudelleen.
Nopeusrajoitukset
Vastauksissa ovat RateLimit- ja RateLimit-Policy-otsakkeet sekä aiemmat X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset. 429-vastauksessa on Retry-After sekunteina: odota ja yritä uudelleen.